Java 简单链表
Java Simple Linked List
我正在大学学习数据结构课程,但我无法理解为什么我的单链表不遵循 FIFO 算法。
这是我的 Node/PSVM class:
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();
}
}
这是我的链表Class:
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++;
}
}
如果这是基本的 question/problem,请提前致歉。我问过我的教授,她给我发了一个 YouTube link,但确实没有帮助。
感谢您的宝贵时间。
代码没有错误。
为了使列表表现得像 FIFO,节点将被添加到一端并从另一端删除。
因此,您必须执行删除操作。您可以维护对头节点和尾节点的单独引用。
我正在大学学习数据结构课程,但我无法理解为什么我的单链表不遵循 FIFO 算法。
这是我的 Node/PSVM class:
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();
}
}
这是我的链表Class:
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++;
}
}
如果这是基本的 question/problem,请提前致歉。我问过我的教授,她给我发了一个 YouTube link,但确实没有帮助。
感谢您的宝贵时间。
代码没有错误。
为了使列表表现得像 FIFO,节点将被添加到一端并从另一端删除。
因此,您必须执行删除操作。您可以维护对头节点和尾节点的单独引用。