链式结构是一种数据结构,学名链式存储结构,又叫链接存储结构。使用对象引用变量来创建对象间的链接。
它不要求逻辑上相邻的元素在物理位置上也相邻。因此它没有顺序存储结构所具有的弱点,同时也失去了顺序表可随机存取的优点。
其特点主要表现为: 1、比顺序存储结构的存储密度小; 2、插入、删除灵活,结点可以被插入到链表的任何位置,首、中、末都可以,而且不必要移动结点中的指针; 3、链表的大小可以按需伸缩,是一种动态存储结构,其实现的集合在增、删方面性能更高; 4、查找结点时的效率就相对数组较低,只能从第一个结点开始顺着链表逐个查找(这是他的缺点)。
以Java语言来举一个例子: 定义一个Form对象,如:
public class Form { public String id; public String title; public String content; public Form nextForm; // 链表的下一个结点指向 public Form(String id, String title, String content, Form nextForm) { this.id = id; this.title = title; this.content = content; this.nextForm = nextForm; } }模拟创建链表数据:
// 创建链表数据 总共三个结点 Form form = new Form("001", "t1", "结点1", new Form("002", "t2", "结点2", new Form("003", "t3", "结点3", null)));访问结点方式:
// 访问链表中的第结点3数据 int n = 3 - 1; for(int i = 0; i < n; i++ ){ form = form.nextForm; } System.out.print(form.content);其他链表操作随后讲解。