数据结构-线性表-链表

156 阅读1分钟

存储结构:数据结计算机中的表示,包括数据元素的表示和关系表示
线性表在计算机中的存储结构分为两种:顺序存储结构以及链式存储结构

链式存储结构-链表

链表的存储空间可能是不连续的,通过指针来表达元素与元素之间的前驱后继关系。

  1. 单向链表 image.png
    头指针:确定线性表中第一个元素对应的存储位置
    空指针:链表最后一个节点的指针值
    带表头节点的单向链表: 第一个存放在第二个节点,在所有结点之前有一个表头结点
    空表:
    head = ^ 不带表头节点的空表
    head -> //|^ 带了表头节点的空表

在单向链表的b,c之前插入x image.png

  1. 单向循环链表

image.png

3.双向链表
每个结点都有两个指针域,用于存放前驱结点地址和后继结点地址

image.png

image.png 4.双向循环链表
类型描述和循环链表保持一致

image.png

5.静态链表
存储空间不是动态分配的,是静态分配的,C语言中由数组来完成的。 存储思想是链表的存储思想,只是空间是静态分配的。 和顺序表的不同之处:顺序表是顺序存储,静态链表是非顺序存储

image.png

C语言
image.png