数据结构链表习题.doc

数据结构链表习题.doc

ID:58536371

大小:15.50 KB

页数:2页

时间:2020-09-03

数据结构链表习题.doc_第1页
数据结构链表习题.doc_第2页
资源描述:

《数据结构链表习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、练习题:1)在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行_____。A.p->next=q->next;q->next=p;B.q->next=p->next;p=q;C.p->next=q->next;p->next=q;D.q->next=p->next;p->next=q;2)在一个单链表head中,若要删除指针p所指结点的后继结点,则执行_____。A.p=p->next;free(p);B.p->next=p->next->next;free(p);C.q=p->next;q->nex

2、t=p->next;free(q);D.q=p->next;p->next=q->next;free(q);3)若长度为n的线性表(a1,a2,…,an)采用顺序存储,在第i个位置上插入一个新元素,需要依次向后移动个数据元素。An-iBn-i-1Cn-i+1Dn+i3)完成下列打印带头单链表的各元素的算法.typedefstructList{intdata;structList*next;}Node,*Link;voidprintlk(Linkhead){Linkp=head->next;while(p(1)){printf(

3、“%d”,p->data);(2)p=p->next;}4)已知无头单链表A和B表示两个集合,本算法实现A=A-B(集合的补运算)。typedefstructnode{intdata;structnode*next;}lnode;voidsetminus(lnode*&A,lnode*B){lnode*p,*q;p=nullA;p->next=A;A=p;while(B!=NULL){p=A;while(A!=nullB)if(B->data==p->next->data){q=p->next;p->next=q->nex

4、t;free(q);}elseDB=B->nextEreturn0}A=A->next;}5)下列算法创建n个元素的带头单链表.typedefstructlnode {intdata; structlnode*next; }lnode,*linklist;voidcreate(linklist&head,intn){linklistp;inti;head=(linklist)malloc(sizeof(lnode));Ahead->next=nullfor(i=n;i>0;i--){p=(linklist)malloc(siz

5、eof(lnode));scanf(“%d”,&p->data);Bp->next=head->nextChead->next=p}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。