链表有很多种不同的类型:单向链表,双向链表以及循环链表。
链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。单向链表只可向一个方向遍历。
下面是单链表的java实现。
package cn.zhf.list;结果:
public class Link {
public int idata;//存放int 类型的数据
public double ddata;//double类型的数据
public Link next;//对下一个Link对象的引用
public Link(int id, double dd) {
idata = id;
ddata = dd;
}
public void diaplay() {
System.out.println(idata + "," + ddata);
}
}
public class LinkList {
private Link first;
public LinkList() {
first = null;
}
public boolean isEmpty() {
return (first == null);
}
//插入一个元素
public void insertFirst(int id, double dd) {
Link link = new Link(id, dd);
link.next = first;//next元素链接first
first = link;//first元素链接link
}
//删除一个元素
public Link deleteFirst() {
Link temp = first;
first = first.next;
return temp;
}
//显示链表的元素
public void displayLink() {
Link current = first;
while (current != null) {
current.diaplay();
current = current.next;
}
}
public static void main(String[] args) {
LinkList list = new LinkList();
list.insertFirst(12, 12.3);
list.insertFirst(11, 12.4);
list.insertFirst(14, 12.5);
list.displayLink();
while (!list.isEmpty()) {
Link flink = list.deleteFirst();
System.out.print("deleting -->");
flink.diaplay();
}
list.displayLink();
}
}
14,12.5
11,12.4
12,12.3
deleting -->14,12.5
deleting -->11,12.4
deleting -->12,12.3