概念
链表 [Linked List]:链表是由一组不必相连【不必相连:可以连续也可以不连续】的内存结构 【节点】,按特定的顺序链接在一起的抽象数据类型。
分类:
单向链表双向链表循环链表
单项链表
链表是有序列表,在内存中的存储实行如下图:
链表的结构特点
链表是以节点的方式来存储的每个节点都包含了data域(存放数据),next域指向下一个节点链表的存储空间不是连续的链表分为有头节点的和没有头节点的
java代码实现单向链表
先定义链表节点类
class LinkedNode {
private int dataNode
;
private LinkedNode next
;
public LinkedNode(int dataNode
) {
this.dataNode
= dataNode
;
}
}
定义链表类
class SingleLinkedList {
LinkedNode head
= new LinkedNode(0);
void add(LinkedNode linkedNode
) {
LinkedNode temp
= head
;
for (; true ; ) {
if (temp
.next
== null
) {
break;
}
temp
= temp
.next
;
}
temp
.next
= linkedNode
;
}
void showLinkedList() {
if (this.head
.next
== null
) {
System
.out
.println("链表数据为空");
return;
}
LinkedNode temp
= this.head
.next
;
while (true) {
if (temp
== null
) {
break;
}
System
.out
.println(temp
.dataNode
);
temp
= temp
.next
;
}
}
}