我是数据结构的新手。在学习它时,我无法理解这两种链表实现之间的区别。
无论我在哪里看到最多,每个人都在使用下面提到的链表的第一个实现。
通过两个类:
class Node{
int data;
int value;
Node next;
Node(int data){
this.data = data;
this.next = null;
}
Node(int data, Node next){
this.next = next;
this.data = data;
}
}
class LinkedList{
Node head;
LinkedList(Node head){
this.head = head;
}
LinkedList(){
this.head = null;
}
void insert(int data){
//it will insert at the end
//logic
}
//Other methods.
}
但这是我的问题,为什么我们需要两个类来实现它。假设我使用以下实现:
class Node{
int data;
int value;
Node next;
Node(int data){
this.data = data;
this.next = null;
}
Node(int data, Node next){
this.next = next;
this.data = data;
}
void appendToTail(int d){
Node node = new Node(4);
Node traversal = this;
while(traversal.next!=null){
traversal = traversal.next;
}
traversal.next = n;
}
}
现在我可以在一个班级里用它做所有的事情,不是吗?请告诉我这种方法有什么问题,因为它非常混乱。