第章 线性表
描述以下三个概念的区别头指针头结点首元结点(第一个元素结点)
解头指针是指向链表中第一个结点的指针首元结点是指链表中存储第一个数据元素的结点头结点是在首元结点之前附设的一个结点该结点不存储数据元素其指针域指向首元结点其作用主要是为了方便对链表的操作它可以对空表非空表以及首元结点的操作进行统一处理
填空题
解() 在顺序表中插入或删除一个元素需要平均移动表中一半元素具体移动的元素个数与元素在表中的位置有关
() 顺序表中逻辑上相邻的元素的物理位置必定紧邻单链表中逻辑上相邻的元素的物理位置不一定紧邻
() 在单链表中除了首元结点外任一结点的存储位置由其前驱结点的链域的值指示
() 在单链表中设置头结点的作用是插入和删除首元结点时不用进行特殊处理
在什么情况下用顺序表比链表好?
解当线性表的数据元素在物理位置上是连续存储的时候用顺序表比用链表好其特点是可以进行随机存取
对以下单链表分别执行下列各程序段并画出结果示意图
画出执行下列各行语句后各指针及链表的示意图
L=(LinkList)malloc(sizeof(LNode));P=L;
for(i=;i<=;i++){
P>next=(LinkList)malloc(sizeof(LNode));
P=P>next;P>data=i*;
}
P>next=NULL;
for(i=;i>=;i) Ins_LinkList(Li+i*);
for(i=;i<=;i++) Del_LinkList(Li);
解