软件设计师 上午题#3 数据结构p8 线性结构链式存储

目录

线性表的链式存储

 带头结点链表的插入


 

 

线性表的链式存储

链式存储是通过指针链接起来的结点来存储数据元素,基本结构如下:

数据域用于存储数据元素的值

指针域存储当前元素的直接前驱直接后继位置信息

存储各元素的结点的地址并不要求是连续的,因此存储数据元素的同时必须存储元素之间的逻辑关系,需要一个结点就申请一个空间就行

(顺序存储是你们村里连起来的一排房子,链式存储是你朋友家在隔壁村,指针域有他家地址)

 链表也分单链表多链表

单链表(线性列表):结点之间通过指针域构成一个链表,结点中只有一个指针域

软件设计师 上午题#3 数据结构p8 线性结构链式存储_第1张图片

单链表还分带头结点不带头结点

 带头结点:一开始会有一个结点,这个头结点不存储数据,就是数据域为null,指针域指向的就是第一个带数据的结点的地址

不带头结点:就是没有结点指向第一个结点

软件设计师 上午题#3 数据结构p8 线性结构链式存储_第2张图片

软件设计师 上午题#3 数据结构p8 线性结构链式存储_第3张图片

 带头结点链表的插入

 软件设计师 上午题#3 数据结构p8 线性结构链式存储_第4张图片

如果要在1跟2之间插入插入一个结点,仅仅需要两步

软件设计师 上午题#3 数据结构p8 线性结构链式存储_第5张图片

 大家要明白一点就是,这条链不能断!

所以插入一个的时候,先是复制1指向的下一个地址的地址(复制地址),然后才把1的指向的地址改成插入的元素的地址(改地址)

你可能感兴趣的:(线性结构,数据结构)