在认识链表之前要熟悉一个新东西-----链结点
链结点 由两部分组成 数据(data) 和 下一个 链结点 引用(next);
链结点 由两部分组成 数据(data) 和 下一个 链结点 引用(next);
在java中大概是这个样子的:
public class Link {
protected long data; //数据
protected Link next; //下一个链结点
public Link(long data) {
this.data = data;
}
public void show() {
System.out.println(this.data);
}
}
public class LinkList {
private Link first; //第一个节点的引用
public LinkList() {
first = null; //没有数据
}
public boolean isEmpty() {
return first == null ;
}
public void add(long data) {
Link newLink = new Link(data);
newLink.next = first;
first =newLink;
}
public Link deleteFirst() {
Link temp =first;
first = first.next;
return temp;
}
public void display() {
Link current =first;
while(current != null) {
current.show();
current = current.next;
}
}
public static void main(String[] args) {
LinkList list =new LinkList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.display();
}
}
我说上面的程序在包装一层就可以实现栈应该没人反对吧。除了数组之外栈的另一种实现方式。