2014数据结构习题集答案

2014数据结构习题集答案

ID:5341979

大小:292.46 KB

页数:18页

时间:2017-12-08

2014数据结构习题集答案_第1页
2014数据结构习题集答案_第2页
2014数据结构习题集答案_第3页
2014数据结构习题集答案_第4页
2014数据结构习题集答案_第5页
资源描述:

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

1、《数据结构》习题集答案黄橡丽2014年8月第一章-第五章参考答案一.单选与填空1.n(n-1)/22.O(n)3.常数阶O(n)4.C5.A6.C7.D8.A9.O(n)10.B11.C12.A13.A14.B15.C16.L->next==NULL17.P->prior->next=P->nextP->next->prior=P->prior18.B19.C20.321.C22.A23.A24.C25.D26.D27.Ihaveadream,ave28.629.A30.D31.(a,b)(c,())32.B33.C二、算法题1.程序的功能:对长度大于等于

2、2的单链表,将首元结点插入到表尾。2.(1)栈中的数据元素逆置(2)如果栈中存在元素e,将其从栈中清除。3.程序的运行结果:(1)chris(2)card4.-10题答案:.#defineOK1#defineERROR0typedefintStatus;typedefstructLNode{intdata;structLNode*next;}LNode,*LinkList;4.题答案intLength(LinkListL)//求链表的长度{k=0;p=L;while(p->next){p=p->next;k++;}returnk;}//Length5.题答

3、案LNode*Locate(LinkListL,Elemtypex)//链表上的元素查找,返回指针{p=L->next;while(p&&p->data!=x)p=p->next;returnp;}//Locate6.题答案StatusListDelete_L(LinkList&L,inti,ElemType&e){//将线性表L中第i个数据元素删除p=L;j=0;while(p->next&&jnext;++j;}if(!(p->next)

4、

5、j>i-1)returnERROR;//删除位置不合理

6、q=p->next;//临时保存被删结点的地址以备释放p->next=q->next;//改变删除结点前驱结点的指针域e=q->data;//保存删除结点的数据域free(q);//释放删除结点的空间returnOK;}//ListDelete_L7.题答案StatusListInsert_L(LinkList&L,inti,ElemTypee){//在第i个元素之前插入数据元素ep=L;j=0;while(p&&jnext;++j;}//寻找第i−1个结点if(!p

7、

8、j>i−1)returnERROR;//i大于表长+1或者小于1

9、s=(LinkList)malloc(sizeof(LNode));//生成新结点ss->data=e;//将结点s的数据域置为es->next=p->next;//将结点s插入L中p->next=s;returnOK;}//ListInsert_L8.题答案voidCreateList_L(LinkList&L,intn){//正位序输入n个元素的值,建立带表头结点的单链表LL=(LinkList)malloc(sizeof(LNode));L->next=NULL;r=L;//尾指针r指向头结点for(i=0;i

10、malloc(sizeof(LNode));//生成新结点scanf(&p->data);//输入元素值p->next=NULL;r->next=p;//插入到表尾r=p;//r指向新的尾结点}}//CreateList_L9.题答案StatusDelete_Between(Linklist&L,intmink,intmaxk)//删除元素递增排列的链表L中值大于mink且小于maxk的所有元素{q=L;p=L->next;while(p&&p->data<=mink){q=p;p=p->next;}//q是最后一个不大于mink的元素,//p是第一个大于

11、mink的元素if(!p)returnERROR;//如果没有比mink更大的元素while(p&&p->datanext=p->next;free(p);p=q->next;}returnOK;}//Delete_Between10.题答案voidMergeList_L(LinkList&La,LinkList&Lb,LinkList&Lc){pa=La->next;pb=Lb->next;pc=Lc=La;//用La的头结点作为Lc的头结点while(pa&&pb){if(pa->data<=pb->data){pc->next=p

12、a;pc=pa;pa=pa->next;}else{pc->nex

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

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

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