顺序表的查找、删除、合并运算.docx_第1页
顺序表的查找、删除、合并运算.docx_第2页
顺序表的查找、删除、合并运算.docx_第3页
顺序表的查找、删除、合并运算.docx_第4页
顺序表的查找、删除、合并运算.docx_第5页
免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论