我正在學(xué)習(xí) Java,我仍然是初學(xué)者。我編寫了這段代碼來實(shí)現(xiàn)一個(gè)循環(huán)鏈表,當(dāng)我嘗試打印列表時(shí),它會(huì)不斷打印數(shù)字。它看起來像是某種無限循環(huán)。我什至嘗試使用調(diào)試,但它對(duì)我沒有多大作用。如果您能查看代碼并了解為什么會(huì)發(fā)生這種情況,我將不勝感激。這是下面的代碼。我也會(huì)為我提供有關(guān)代碼的反饋:) 這是循環(huán)鏈表的類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()); }}這是我的節(jié)點(diǎn)的類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; }}
添加回答
舉報(bào)
0/150
提交
取消