第310章 有毛病!

离语 semaphore 1685 字 3天前

int data[MAXSIZE]; //线性表存储元素的数组

int length; //记录线性表的长度

} *SqList; //线性表的名称

顺序表小结。

1、单链表的定义

链式存储:用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表

简称线性链表。

为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其直接后

继结点的地址(或位置),称为指针(pointer)或链(link),这两部分组成了链表中的结点结构,

链表是通过每个结点的指针域将线性表的 n 个结点按其逻辑次序链接在一起的。每一个结只

包含一个指针域的链表,称为单链表。

存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散

分布在内存中的任意位置上的。链表中结点的逻辑顺序和物理顺序不一定相同。

操作方便,总是在链表的第一个结点之前附设一个头结点(头指针)head 指向第一个。

2、双向链表

双向链表(Double Linked List) :指的是构成链表的每个结点中设立两个指针域:一个指向

其直接前趋的指针域 prior,一个指向其直接后继的指针域 next。这样形成的链表中有两个

方向不同的链,故称为双向链表。将头结点和尾结点链接起来也能构成循环链表,并称之为

双向循环链表。

双向链表的结点的类型定义如下。其结点形式如图所示,带头结点的双向链表的形式如

图所示。

就是用数组来实现链式存储结构,目的是方便在不设指针类型的高级程序设计语言中使

用链式结构。实现原理:

1、使用结构体数组,结构体有指针域 cur 和数据域 data

2、一个数组分量表示一个节点,用 cur 代替指针指示节点在数组中

本小章还未完,请点击下一页继续阅读后面精彩内容!

的相对位置

静态链表,就是用数组来实现链式存储结构,目的是方便在不设指

针类型的高级程序设计语言中使用链式结构。

1、在双向链表指针 p 的结点前插入一个指针 q 的结点操作是( )

2.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采

用( )存储方式最节省运算时间。

A.单链表 B.仅有头指针的单循环链表

C.双链表 D.仅有尾指针的单循环链表

3、下列关于线性表的叙述中,错误的是( )。