1.单链表的定义 单链表解决了顺序表需要大量连续存储单元的缺点,但单链表附加指针域,存储密度较顺序表低(考点!!)。由于单链表的元素离散地分布在存储空间中,所以单链表是非随机存取的存储结构,即不能直接找到表中某个特定的结点。当查找某个特定结点时,需要从表头开始遍历。 通常使用头指针来标识一个单链表,如单链表L,头指针为NULL时表示一个空表。为了操作上的方便,可以在单链表的第一个结点之前附加一个头结点。头结点一般不存储数据,它的数据域可以不设任何信息,或记录表长等信息;头结点的指针域指向线性表的第一个元素结点。 引入头结点后,可以带来两个优点: ①由于第一个数据结点的位置被存放在头结点的指针域中,因此在链表第一个位置上的操作和在表的其他位置上的操作一致,无须进行特殊处理。 ②无论链表是否为空,其头指针都是指向头结点的非空指针(空表中头结点的指针域为空),因此空表和非空表的操作也得到了统一。 typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,...