前言:
本文为小编在学习数据结构的时候的第二章的导图,不多说,请看导图:
概念
本章主要介绍了线性表的基本概念、基本运算、线性表的书序存储结构及基本运算的实现、线性表的链式存储结构及基本运算的实现。
顺序存储
线性表使用数组实现顺序存储,用类C语言来描述这种存储结构时,要预定义足够大的存储空间,并设置一个变量来表示线性表的实际长度。在顺序存储结构上实现线性表的插入和删除运算时,需要移动数据元素。
链接存储
线性表的链式存储实现称为链表,链表的每个结点包括数据域和指针域,用类C语言的结构体描述链表的结点,链表的所有结点通过指针依次链接成一个链表,如果一个节点的指针域置为NULL,表示该节点是链表尾部,无后继节点。一个链表汇总包含数据结点的个数就是链表的长度。链表在进行插入和删除运算时,不需要移动数据元素,只要正确地将指针重新链接即可。为了方便链表的插入和删除运算,在链表的头部增加一个头结点,该结点不计入链表的长度,头结点的数据域不存放任何数据,头结点的指针域指向链表的第一个数据元素结点。
循环链表
如果将链表的收尾结点相接,即将链表的最后一个结点的指针不置成NULL,而置成头结点的地址,这就构成了一个单循环链表,如果将单循环链表的每个结点增加一个指向前驱的指针,就可以得到双循环链表。