




免费预览已结束,剩余3页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安思源学院电信学院数据结构中顺序表操作(查找、插入、删除、合并运算)作者:rocky Email:#define MAXSIZE 100/*顺序表的查找*/typedef int ElemType;typedef structElemType elemMAXSIZE;/用数组模拟线性表int last;/记录线性表中最后一个元素的位置SeqList;int Locate(SeqList L,ElemType e) /*在线性表中查找与e相同的元素,若找到返回该元素的位置,否则返回0*/int i=0;while(i=L.last)&(L.elemi!=e)i+;if(i=L.last)return(i+1);else return 0;void main()SeqList l;int p,q,r,i;printf(请输入线性表的长度:);scanf(%d,&p);l.last=p-1;printf( 请输入线性表中各元素的值:);for(i=0;i=l.last;i+)scanf(%d,&l.elemi);printf( 请输入要查找的元素:);scanf(%d,&r);q=Locate(l,r);if(q)printf( 要查找的元素找到,位置是%d ,q);else printf(抱歉!没有找到想要的元素。 );#define MAXSIZE 100/*顺序表的插入运算*/#define OK 1#define ERROR 0typedef int ElemType;typedef structElemType elemMAXSIZE;/用数组模拟线性表int last;/记录线性表中最后一个元素的位置SeqList;int InsList( SeqList *L,ElemType e,int i)/*在线性表第i个位置插入一个元素e*/int k;if(iL-last+2)printf(插入位置的i值不合法!);return ERROR;if(L-last=MAXSIZE-1)printf(表满无法插入!);return ERROR;for(k=L-last;k=i-1;k-)L-elemk+1=L-elemk;L-elemi-1=e;L-last+;return OK;void main()SeqList l;int p,q,r,i,j;printf(请输入线性表的长度:);scanf(%d,&p);l.last=p-1;printf(n请输入线性表中各元素的值:);for(i=0;i=l.last;i+)scanf(%d,&l.elemi);printf(n请输入要插入的位置:);scanf(%d,&i);printf(请输入要插入的元素值:);scanf(%d,&r);q=InsList(&l,r,i);if(q=1)printf(插入成功!插入后的线性表为:);for(j=0;j=l.last;j+)printf(%d ,l.elemj);else printf(插入失败!);#define MAXSIZE 100/*顺序表的删除运算*/#define OK 1#define ERROR 0typedef int ElemType;typedef structElemType elemMAXSIZE;/用数组模拟线性表int last;/记录线性表中最后一个元素的位置SeqList;int DelList(SeqList *L,int i)/*删除第i位置上元素的值*/int k,e;if(iL-last+1)printf(删除位置不合法!);return ERROR;e=L-elemi-1;for(k=i;klast;k+)L-elemk-1=L-elemk;L-last-;return OK;void main()SeqList l;int p,q,r,i,j;printf(请输入线性表的长度:);scanf(%d,&p);l.last=p-1;printf(n请输入线性表中各元素的值:);for(i=0;i=l.last;i+)scanf(%d,&l.elemi);printf(n请输入要删除的元素位置:);scanf(%d,&r);q=DelList(&l,r);if(q=1)printf(删除成功!删除后的线性表为:);for(j=0;j=l.last;j+)printf(%d ,l.elemj);else printf(删除失败!);#define MAXSIZE 100typedef int ElemType;/*顺序表的合并运算*/typedef structElemType elemMAXSIZE;/用数组模拟线性表int last;/记录线性表中最后一个元素的位置SeqList;int merge(SeqList *La,SeqList *Lb,SeqList *Lc)/*线性表的合并运算*/int i,j,k,l;i=0;j=0;k=0;while(ilast&jlast)if(La-elemielemj)Lc-elemk=La-elemi;i+;k+;elseLc-elemk=Lb-elemj;j+;k+;while(ilast)Lc-elemk=La-elemi;i+;k+;while(jlast)Lc-elemk=Lb-elemj;j+;k+;Lc-last=La-last+Lb-last+1;void main()SeqList LA,LB,LC;int p,q,r,i,j;printf(请输入线性表LA的长度:);scanf(%d,&p);LA.last=p-1;printf(n请输入线性表LA中各元素的值:);for(i=0;i=LA.last;i+)scanf(%d,&LA.elemi);printf(n请输入线性表LB的长度:);scanf(%d,&q);LB.last=p;printf(n请输入线性表LB中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年植入式广告行业当前竞争格局与未来发展趋势分析报告
- 收徒基础知识培训内容课件
- 收入影响消费课件
- 支教兴趣课课件
- 操作工安全知识培训心得
- 2025年会计电算化考试试题(含参考答案)
- 2024事业单位综合基础知识试题及答案
- 2025世界海洋日海洋知识竞赛题及答案
- 2024年融媒体新闻采编技术应用及理论知识考试题库(附含答案)
- 2024年眩晕原发性高血压中医护理方案考核试题及答案
- 智慧监狱AI大模型数字化平台规划设计方案
- 危大工程安全智能化管理措施
- 内能的利用单元练习 2025-2026学年物理人教版(2024)九年级全一册
- 铁路建设工程质量安全监督管理办法
- 数字经济与市场结构-洞察及研究
- 医疗器械经营质量管理规范培训
- DB42T 1496-2019 公路边坡监测技术规程
- 山水项目管护方案(3篇)
- 医院直播策划活动方案
- 2025驾驶员交通安全培训
- 学校清单制管理制度
评论
0/150
提交评论