gpt4 book ai didi

java - 我需要删除链表中的一个节点,如何找到它之前的节点以便重新排列列表?

转载 作者:行者123 更新时间:2023-12-02 08:11:41 26 4
gpt4 key购买 nike

这是学校作业。我必须使用一种搜索方法,该方法返回我搜索的节点或它之前的节点(如果它不存在)。显然,如果我想删除一个节点,它将返回该节点,并且我将无法找到它之前的节点。这是搜索方法的代码:

private myNode search(myEntry searchEntry)
{
myNode ref = first;
myNode pre = null;

while(ref != null)
{
if(searchEntry.compareTo(ref.data) < 0)
break;
pre = ref;
ref = ref.link;
}
return pre;
}

first 是第一个节点,ref 是指针,pre 是指针之前的节点。如果不需要我重写太多东西,也许我会使用双向链表,但如果有一种简单的方法可以找到我尝试使用此搜索方法删除的节点的前身,那么我想知道。我根本不应该使用双向链表。

最佳答案

您的搜索方法无法做到这一点。您必须实现一个独特的搜索方法,该方法返回节点的前任节点,然后将其删除。

关于java - 我需要删除链表中的一个节点,如何找到它之前的节点以便重新排列列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com