资源描述:
《教材第二章部分习题参考解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、教材第二章部分习题参考解答一、单选题1.B2.A3.C4.B5.D6.C二、填空题1.值指针2.(38,56,25,60,42,74)3.O(n)O(1)4.O(1)O(n)5.i-1i+16.p->nexta[p].next7.表头8.前驱后继9.表尾表头10.HL->next==NULLHL->next==HL11.a[i].next=a[1].next;a[1].next=i;12.i=a[1].next;a[1].next=a[i].next;13.p=a[i].next;a[i].next
2、=a[p].next;i=p;14.a[j].next=a[i].next;a[i].next=j;三、普通题第1小题1.(79,62,34,57,26,48)2.(26,34,48,57,62,79)3.(48,56,57,62,79,34)4.(56,57,79,34)5.(26,34,39,48,57,62)第2小题分析:为了排版方便,假定采用以下输出格式表示单链表示意图:每个括号内的数据表示一个元素结点,其中第一个数据为元素值,第二个数据为后继结点的指针,第一个元素结点前的数值为表头指针。1
3、.(7(79,6),(62,5),(34,4),(57,3),(26,2),(48,0))2.(3(26,5),(34,2),(48,4),(57,6),(62,7),(79,0))3.(2(48,8),(56,4),(57,6),(62,7),(79,5),(34,0))4.(8(56,4),(57,7),(79,5),(34,0))第3小题1.ElemTypeDMValue(List&L)//从线性表中删除具有最小值的元素并由函数返回,空出的位置//由最后一个元素填补,若线性表为空则显示出错信息
4、并退出运行。{if(ListEmpty(L)){cerr<<"ListisEmpty!"<5、
6、
7、i>L.size){cerr<<"Indexisoutrange!"<8、
9、i>L.size+1){cerr<<"Indexisoutrange!"<10、it(1);}if(L.size==MaxSize){cerr<<"Listoverflow!"<=i-1;j--)L.list[j+1]=L.list[j];L.list[i-1]=x;L.size++;}4.voidDelete2(List&L,ElemTypex)//从线性表中删除具有给定值x的所有元素。{inti=0;while(i11、;j++)L.list[j-1]=L.list[j];L.size--;}elsei++;}5.voidDelete3(List&L,ElemTypes,ElemTypet)//从线性表中删除其值在给定值s和t之间的所有元素。{inti=0;while(i=s)&&(L.list[i]<=t)){for(intj=i+1;j12、List&L,ElemTypes,ElemTypet)//从有序表中删除其值在给定值s和t之间的所有元素。{inti=0;while(i