我正在學習 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
提交
取消