我正在大学攻读数据结构课程,并且很难理解为什么我的单链接列表不遵循FIFO算法。
这是我的Node / PSVM类:
public class Node {
protected int data;
protected Node next;
Node(int element){
this.data = element;
next = null;
}
public static void main(String[] args) {
LinkedList ll = new LinkedList();
ll.addElement(300);
ll.addElement(600);
ll.addElement(900);
ll.addElement(1200);
ll.printList();
}
}
这是我的链表类别:
public class LinkedList {
// create a reference of type node to point to head
Node head;
// keep track of the size of ll
int size = 0;
void printList() {
Node n = head;
for (int i = 0; i < llSize(); i++) {
System.out.print(n.data + " ");
n = n.next;
}
System.out.println("");
}
int llSize() {
return this.size;
}
boolean isEmpty() {
return size == 0;
}
void addElement(int element) {
if (isEmpty()) {
head = new Node(element);
} else {
Node nNode = new Node(element);
Node current = head;
while(current.next != null){
current = current.next;
}
current.next = nNode;
}
this.size++;
}
}
如果这是一个基本问题/问题,请先抱歉。我已经问过我的教授,她给我发送了一个YouTube链接,该链接确实没有帮助。
谢谢您的时间。
该代码没有错误。
为了使列表充当FIFO,节点将被添加到一端并从另一端删除。
因此,您将必须实现delete操作。您可以维护对头节点和尾节点的单独引用。