



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #define m 100typedef struct list /顺序表的结构定义 int datam; int n; SqList;SqList scan() /建立一个顺序表 SqList L; int i=0; L.n=0; printf(请输入数据.); printf(按 Enter和Ctrl + Z结束输入.n); printf(numbers:); while(scanf(%d,&L.datai)!=EOF) L.n+;i+; return L;void overlook(SqList A) /遍历顺序表 int i; printf(The list is:n); for (i=0;iA.n;i+) printf(%d ,A.datai); printf(n);int search(SqList A,int num) /在顺序表查找一个数 int i; for (i=1;iA.n) return 0; SqList insert(SqList A,int x,int i) /在顺序表中插入一个数 int a; if (iA.n+1|A.n=m) printf(i(location) is illegal!n); exit(0); else for (a=A.n;a=i;a-) A.dataa=A.dataa-1; A.datai-1=x; A.n+; return A;SqList del(SqList A,int i) /在顺序表删除一个数 int e,j; if (iA.n) printf(i(location) is illegal!n); e=A.datai-1; for (j=i;j=A.n;j+) A.dataj-1=A.dataj; A.n-; return(A);int choice;SqList Build_order_list()/建立有序表SqList L;int i,j;int temp;L=scan();printf(1:建立非递减有序表.n2:建立非递增有序表.n选择1或2:);doscanf(%d,&choice);if(choice=1|choice=2)switch(choice)case 1:for(i=0;iL.n-1;i+)for(j=0;jL.dataj+1)temp=L.dataj;L.dataj=L.dataj+1;L.dataj+1=temp;break;case 2:for(i=0;iL.n-1;i+) for(j=0;jL.n-1;j+)if(L.datajL.dataj+1)temp=L.dataj;L.dataj=L.dataj+1;L.dataj+1=temp;break;else printf(The input is error.n);printf(Choice again:); while(choice!=1&choice!=2);printf(OK.n);return L;SqList MergeList()/建立两个非递减有序表并将它们合并SqList La,Lb,Lc;La=Build_order_list();Lb=Build_order_list();Lc.n=0;int i=0,j=0,k=1;while(i=(La.n-1)&j=(Lb.n-1)if(La.datai=Lb.dataj)Lc=insert(Lc,La.datai+,k+);else Lc=insert(Lc,Lb.dataj+,k+);while(i=(La.n-1)Lc=insert(Lc,La.datai+,k+);while(j=(Lb.n-1)Lc=insert(Lc,Lb.dataj+,k+);return Lc;SqList order_insert()/在有序表中插入某一元素,表仍为有序表SqList L;int x,i=0,k=1;L=Build_order_list();printf(Insert a element X:);scanf(%d,&x);for(i=0;iL.n;i+)if(choice=1&xL.datai)break;L=insert(L,x,i+1);return L;void main() /主函数 int i,n,num,x; SqList A; printf(主菜单:n); printf(1:建立一个顺序表:n); printf(2:遍历顺序表:n); printf(3:在顺序表中找某一元素:n); printf(4:在顺序表中插入一个元素:n); printf(5:在顺序表中删除一个元素:n); printf(6:建立一个有序表:n); printf(7:建立两个非递减有序表,并合并成一个非递减有序表:n); printf(8:把一个元素插入有序表中:n); printf(请选择主菜单中相应的号码:n); while(scanf(%d,&i)!=EOF) switch(i) case 1:A=scan();break; case 2:overlook(A);break; case 3:printf(请输入你想查找的元素:); scanf(%d,&num); printf(Its location is %d.n,search(A,num);break; case 4:printf(请输入你想插入的元素:n); scanf(%d,&x); printf(请输入元素要插入的位置:n); scanf(%d,&i); A=insert(A,x,i);break; case 5:printf(请输入要删除的元素的位置:n); scanf(%d,&i); A=del(A,i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浦发银行南通市海门区2025秋招笔试创新题型专练及答案
- 浦发银行铁岭市银州区2025秋招笔试创新题型专练及答案
- 广发银行沈阳市沈北新区2025秋招笔试热点题型专练及答案
- 中信银行上海市静安区2025秋招英文面试题库及高分回答
- 招商银行天津市武清区2025秋招笔试EPI能力测试题专练及答案
- 农发行上海市宝山区2025秋招结构化面试经典题及参考答案
- 平安银行徐州市铜山区2025秋招英文面试题库及高分回答
- 光大银行泰州市泰兴市2025秋招半结构化面试15问及话术
- 光大银行佛山市南海区2025秋招结构化面试经典题及参考答案
- 民生银行潍坊市奎文区2025秋招无领导模拟题角色攻略
- 喀斯特地貌(全套课件)
- 2019人教版高中英语选择性必修一UNIT 3 Fascinating Parks 单词表
- 《上海市奉贤区小区机动车停放管理工作调查报告》4300字
- 水中总氯的测定方法确认实验报告(HJ586)
- GB/T 15566.8-2007公共信息导向系统设置原则与要求第8部分:宾馆和饭店
- 国家开放大学《现代汉语专题》章节自测参考答案
- 老舍《我的母亲》 中职课件
- 教科版二年级(上)科学1.5各种各样的天气(课件)
- 分段函数-完整版获奖课件
- 信访人的权利、义务和禁止行为告知书
- 2022年发展对象个人汇报材料
评论
0/150
提交评论