《数据结构》程序填空复习题.pdf

《数据结构》程序填空复习题.pdf

ID:57528894

大小:418.02 KB

页数:14页

时间:2020-08-26

《数据结构》程序填空复习题.pdf_第1页
《数据结构》程序填空复习题.pdf_第2页
《数据结构》程序填空复习题.pdf_第3页
《数据结构》程序填空复习题.pdf_第4页
《数据结构》程序填空复习题.pdf_第5页
资源描述:

《《数据结构》程序填空复习题.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、精品文档《数据结构》程序填空复习题说明:本文档中涉及到的算法并非本书的全部,有些可根据此处的情况自行看书和作业题,黑色为综合练习上的题目,红色为我另增加的题,这些空的选择是根据我个人的经验来决定的并不能完全代表中央电大的出卷老师,因此一定不能有肯定就考这些题目的想法。不能放弃其他内容的复习,切记!!!一、线性表1.设线性表为(6,10,16,4),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据。#defineNULL0voidmain(){NODEa,b,c,d,*head,*p;a.data=6;b.data=10;c.data=16;d.

2、data=4;/*d是尾结点*/head=(1);a.next=&b;b.next=&c;c.next=&d;(2);/*以上结束建表过程*/p=head;/*p为工作指针,准备输出链表*/do{printf(“%d”,(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;};typedefstructnodeNODEintde

3、lete(NODE*head,inti){1欢迎下载。精品文档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位,MAX是数组的个数,a[0]用以存放线性表长度,b存放待插入

4、的元素值,i存放插入的位置,n存放线性表长度{inta[MAX];inti,j,b,n;scanf(“%d%d%d”,&b,&i,&n);for(j=1;j<=n;j++)scanf(“%d”,&a[j]);a[0]=n;for(j=n;(1);j--)(2);(3);(4);for(j=1;j<=a[0];j++)printf(“%5d”,a[j]);}答案:(1)j>=i(2)a[j+1]=a[j](3)a[i]=b(4)a[0]=n+12欢迎下载。精品文档4.用头插法建立带头结点且有n个结点的单向链表的算法NODE*create(n){NODE*head

5、,*p,*q;intip=(NODE*)malloc(sizeof(NODE));(1);(2);(3);for(i=1;i<=n;i++){p=(NODE*)malloc(sizeof(NODE));p->data=i;if(i==1)(4);else{(5);(6);}}return(head);}答案:(1)head=p(2)p->next=NULL(3)q=p(4)p->next=NULL(5)p->next=q->next(6)q->next=p一、栈1.以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针structnode{ElemT

6、ypedata;structnode*next;};structnode*top;voidPush(ElemTypex){structnode*p;p=(structnode*)malloc(___(1)_____);p->data=x;3欢迎下载。精品文档___(2)_____;}答案:(1)sizeof(structnode)(2)p->next=top(3)top=p二、队列1.以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队尾指针structnode{ElemTypedata;structnode*nex

7、t;};structnode*front,*rear;voidInQueue(ElemTypex){structnode*p;p=(structnode*)___(1)_____;p->data=x;p->next=NULL;___(2)_____;rear=___(3)_____;}答案:(1)malloc(sizeof(structnode))(2)rear->next=p(3)p2.以下函数为链队列的出队操作(链队列带有头结点),出队结点的数据域的值由x返回,front、rear分别是链队列的队头、队尾指针structnode{ElemTypedata;st

8、ructn

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

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

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