1. 链表带“头结点”的好处?(讲解链表基本操作中融入)
[答]:(1)在链表头的操作(插入、删除)和在表中其它位置
上的操作统一,无需进行特殊处理。
(2)空链表和非空链表操作统一。
( 3 ) 各 种 空 链 表 相 互 区 别 ( 否 则 , 空 链 表 都 用
head=NULL 表示,不能区别是什么组织方式的空链表)。
2. 不带头结点的单链表 head 为空的判定条件是(),带头结
点的单链表 head 为空的判定条件是()
3. 在循环双链表的指针 p 所指结点之后插入指针 s 所指结点
的操作序列。
4. 有一个单链表(带头结点),其头指针为 head,编写一个
函数计算数据域为 x 的结点个数。
5. 读以下程序段,说明功能。(课堂练习)
void r (node *head)
{ node *p;
p=head->next; /*p指向第一个数据结点*/
head->next=NULL; /*将原链表置为空表head*/
while (p)
{ q=p; p=p->next;
q->next=head->next; /*将当前结点插到头结点的后面*/
head->next=q;
}
}