数据结构作业及答案.doc

数据结构作业及答案.doc

ID:51852640

大小:52.45 KB

页数:9页

时间:2020-03-17

数据结构作业及答案.doc_第1页
数据结构作业及答案.doc_第2页
数据结构作业及答案.doc_第3页
数据结构作业及答案.doc_第4页
数据结构作业及答案.doc_第5页
资源描述:

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

1、上机实验的问题和要求:顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及有序表的形成、元素的查找、插入与删除。具体实现要求:1.从键盘输入n个整数,产生顺序表,并输入结点值;2.将已知的顺序表形成一个有序表(从小到大或从大到小);3.从键盘输入1个待查找的整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”;4.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果;#include#includetypedefintElemTy

2、pe;structList{ElemType*list;intsize;intMaxSize;};voidTraverseList(structList*L){inti;for(i=0;isize;i++)printf("%d",L->list[i]);printf("");}voidagainMalloc(structList*L){ElemType*p=realloc(L->list,2*L->MaxSize*sizeof(ElemType));if(!p){printf("存储空间用完!");exit(1);}L->list=p;L->MaxSize=2*L->

3、MaxSize;}voidInsertPosList(structList*L,intpos,ElemTypex){inti;if(pos<1

4、

5、pos>L->size+1)exit(1);if(L->size==L->MaxSize)againMalloc(L);for(i=L->size-1;i>=pos-1;i--)L->list[i+1]=L->list[i];L->list[pos-1]=x;L->size++;}voidCreateList(structList*L,intn){inti;if(n<=1){printf("参数有误!");exit(1);}L->list=

6、malloc(n*sizeof(ElemType));L->MaxSize=n;printf("请输入%d个数:",n);for(i=0;ilist[i]);L->size=n;printf("");}voidOrderList(structList*L){inti,j;ElemTypet;for(i=0;isize-1;i++)for(j=0;jsize-1-i;j++)if(L->list[j]>L->list[j+1]){t=L->list[j];L->list[j]=L->list[j+1];L->list[j+

7、1]=t;}}voidCheckList(structList*L,ElemTypex){inti;for(i=0;isize;i++)if(L->list[i]==x)break;if(i==L->size)printf("在线性表中找不到与%d相等的数!",x);elseprintf("元素“%d”在数组存储空间的下标为%d的位置上。",x,i);}voidmain(){intm,p,q,k=10;structListLa;CreateList(&La,k);printf("第一小题,请输出线性表中的各元素:");TraverseList(&La);Ord

8、erList(&La);printf("第二小题,请输入经排序后的线性表中的元素:");TraverseList(&La);printf("第三小题,请输入要查找的整数:");scanf("%d",&m);CheckList(&La,m);printf("第四小题,请输入需要在线性表中插入数的位置和数值:");scanf("%d,%d",&p,&q);InsertPosList(&La,p,q);printf("在第%d个元素位置插入%d后,线性表为:",p,q);TraverseList(&La);}1.建立带头结点的单链表;2.输出带头结点的单链表;3.将单链表逆序链接,假定

9、仍使用原有结点;4.以选择法对单链表进行排序;5.在主函数实现对上述四个函数的调用,输出运行结果。#include#includetypedefintElemType;structsNode{ElemTypedata;structsNode*next;};voidCreateHeadList(structsNode**HL,intpos){structsNode*p,*q,*h;inti;h=p

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

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

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