gpt4 book ai didi

java - 在Java中遍历双向链表?

转载 作者:行者123 更新时间:2023-12-02 03:43:49 25 4
gpt4 key购买 nike

我正在尝试遍历一个双向链接的链表,但我似乎遇到了无限循环。我的目标是找到列表中第一个最左边出现的元素。我找到了该元素,但我的程序似乎一直在循环。阻止它循环的唯一方法是中断。必须有另一种方法。谢谢。{

    Node<E> temp;
temp = head;

while(temp.next != null){

if(temp.value==obj){
System.out.println("YES");
}

else{
temp = temp.next;
}

System.out.println("\nNO");
}

}

最佳答案

无论如何,你都需要进步。交换打印“否”和下一个作业:

Node<E> temp = head;
while(temp != null) { // Don't check for next here or miss the last element
if (temp.value == obj) {
System.out.println("YES: " + value);
break;
}
System.out.println("NO: " + value);
temp = temp.next;

// Loop check (if needed)
if (temp == head) {
break;
}
}

如果没有循环并且您只需要一个"is"或“否”,则为简短变体:

Node<E> temp;
temp = head;

while (temp != null && temp.value != obj) {
temp = temp.next;
}
System.out.println(temp == null ? "NO" : "YES");

关于java - 在Java中遍历双向链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36523636/

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