《数据结构》程序填空复习题说明:本文档中涉及到的算法并非本书的全部,有些可根据此处的情况自行看书和作业题,黑色为综合练习上的题目,红色为我另增加的题,这些空的选择是根据我个人的经验来决定的并不能完全代表中央电大的出卷老师,因此一定不能有肯定就考这些题目的想法
不能放弃其他内容的复习,切记
一、线性表1
设线性表为(6,10,16,4),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据
#defineNULL0voidmain(){NODEa,b,c,d,*head,*p;a
data=6;b
data=10;c
data=16;d
data=4;/*d是尾结点*/head=(1);a
next=&b;b
next=&c;c
next=&d;(2);/*以上结束建表过程*/p=head;/*p为工作指针,准备输出链表*/do{printf(“%d\n”,(3));(4);}while((5));}答案:(1)&a(2)dnext=NULL(3)p->data(4)p=p->next(5)p
=NULL2
以下函数在head为头指针的具有头结点的单向链表中删除第i个结点,structnode{intdata;structnode*next;};typedefstructnodeNODEintdelete(NODE*head,inti){NODE*p,*q;intj;q=head;j=0;while((q
=NULL)&&(___(1)_____)){___(2)_____;j++;}if(q==NULL)return(0);p=___(3)_____;___(4)_____=p->next;free(___(5)_____);return(1);}答案:(1)jnext(3)q->next(4)q->next(5)p3
将新元素插入到线性表中的第i位,M