Java单链表节点删除循环由于某种原因进入无限循环
所以这个方法应该遍历列表,每隔三个节点删除一个节点,直到只剩下一个节点,我的代码如下:Java单链表节点删除循环由于某种原因进入无限循环,java,linked-list,nodes,singly-linked-list,Java,Linked List,Nodes,Singly Linked List,所以这个方法应该遍历列表,每隔三个节点删除一个节点,直到只剩下一个节点,我的代码如下: public void printWinningPosition() { Node<T> pos = head; Node<T> prev=null; while (size()>=1){ for (int i=1;i<3;i++){ if (pos.link!=null){
public void printWinningPosition() {
Node<T> pos = head;
Node<T> prev=null;
while (size()>=1){
for (int i=1;i<3;i++){
if (pos.link!=null){
prev=pos;
pos=pos.link;
}else{
pos.link=head;
pos=pos.link;
}
}
System.out.println("Eliminate suitor #"+pos.data);
prev.link=pos.link;
pos=pos.link;
System.out.println(size());
outputList();
}
}
因此,它正在删除正确的节点和内容,但我不知道为什么它在尝试删除时停止工作#2,程序没有停止,但它在这里卡住了
提前谢谢 我并不想显得残忍,但我认为这是一个你应该自己弄清楚的问题。您知道如何在Eclipse中使用调试器并逐步完成代码吗?它卡在println()和
之间,而(size()>=1)
检查否实际上我不知道调试器是什么,但现在我会检查一下,看看是否可以解决问题,谢谢!看一看它的教程。如果所有这些都失败了,您可以在每个步骤中添加更多的print语句来查看发生了什么。我并不想显得残忍,但我认为这是一个你应该自己弄清楚的问题。您知道如何在Eclipse中使用调试器并逐步完成代码吗?它卡在println()和之间,而(size()>=1)
检查否实际上我不知道调试器是什么,但现在我会检查一下,看看是否可以解决问题,谢谢!看一看它的教程。如果所有这些都失败了,您可以在每个步骤中添加更多的print语句来查看发生了什么。
Eliminate suitor #3
6
1 2 4 5 6 7
Eliminate suitor #6
5
1 2 4 5 7
Eliminate suitor #2