我正在学习 Java,我仍然是初学者。我编写了这段代码来实现一个循环链表,当我尝试打印列表时,它会不断打印数字。它看起来像是某种无限循环。我什至尝试使用调试,但它对我没有多大作用。如果您能查看代码并了解为什么会发生这种情况,我将不胜感激。这是下面的代码。我也会为我提供有关代码的反馈:) 这是循环链表的类public class CircularLinkedList<E> implements API<E> { private Node<E> head; private int size = 0; public void placeAtBeginning(E element) { Node<E> newNode = new Node<E>(element); if(head == null) { head = newNode; head.setNext(head); }else { Node<E> temp = head; head = newNode; newNode.setNext(temp); } size++; } public void placeAtEnd(E element) { Node<E> newNode = new Node<E>(element); if (head == null) { head = newNode; }else { Node<E> temp = head; while (temp.getNext() != head) { temp = temp.getNext(); } temp.setNext(newNode); } newNode.setNext(head); size++; } public void deleteFromBeginning() { Node<E> temp = head; while (temp.getNext() != head) { temp = temp.getNext(); } temp.setNext(head.getNext()); head = head.getNext(); size --; } public void deleteFromEnd() { Node<E> temp = head; while(temp.getNext().getNext() != head) { temp = temp.getNext(); } temp.setNext(head); size--; } public void print() { Node<E> temp = head; while(temp.getNext()!= head) { System.out.print(temp.getValue() + " , "); temp = temp.getNext(); } System.out.print(temp.getValue()); }}这是我的节点的类public class Node<T> { private Node<T> next; private T item; public Node(T item) { this.item = item; } public void setNext(Node<T> next) { this.next = next; } public Node<T> getNext() { return this.next; } public T getValue() { return this.item; }}
添加回答
举报
0/150
提交
取消