众所周知,Java没有C++的指针。可能会觉得很难实现单链表。但其实并不是的。Java对象本来就是引用。所以完完全全可以使用Java来实现单链表。
Node.java:
public class Node {
int data;
Node next;
public Node(int data, Node node) {
this.data = data;
this.next = node;
}
}
List.java
public class List {
Node head;
int size;
public List() {
head = new Node(0, null);
size = 0;
}
public Node getLast() {
Node node = head;
while(node.next != null) {
node = node.next;
}
return node;
}
public int insert(int data) {
Node last = getLast();
Node node = new Node(data, null);
last.next = node;
size ++;
return 1;
}
public void display() {
System.out.println("size = " + size + "");
Node temp = head.next;
while(temp != null) {
System.out.print(temp.data + " ");
temp = temp.next;
}
System.out.println();
}
}
MainClass.java:
public class MainClass {
public static void main(String[] args) {
List list = new List();
list.insert(0);
list.insert(1);
list.insert(2);
list.insert(3);
list.insert(4);
list.display();
}
}
运行结果如下:
size = 5
0 1 2 3 4
很简单的引用。一个简单的单链表就出来了。
当然链表还有查找、删除等功能。一个简单的创建出来了,其他的应该就不是难事了