前面说到线性表的顺序存储结构,它的插入和删除动作需要移动大量元素,费时。

原因:顺序存储结构的线性表,相邻元素的存储结构也是邻居关系,中间没有空隙,无法快速介入,而删除的时候回留出空隙,需要弥补。


线性表链式存储结构定义

数据域(data):存储数据元素信息的域

指针域(next):存储直接后继位置的域,指针域中存储的信息称为指针或链

数据结构---线性表:链式存储结构

由上面两部分信息组成的数据元素ai的存储映像称为结点(Node)

n个结点链结成一个链表,即为线性表(a1,a2,...,an)的链式存储结构。

单链表:链表的每个结点中只包含一个指针域

数据结构---线性表:链式存储结构


 

单链表的插入

将结点s插入到结点p和p->next之间

数据结构---线性表:链式存储结构

将p的后继结点改为s的后继结点,把s结点变成p的的后继结点

s->next=p->next;

p->next=s

数据结构---线性表:链式存储结构


单链表的删除

删除结点q,将q的前继结点的指针指向q的后继结点即可。

q=p->next;

p->next=q->next;

数据结构---线性表:链式存储结构

相关文章: