首页 《数据结构》-01顺序结构的线性表插入删除查找

《数据结构》-01顺序结构的线性表插入删除查找

举报
开通vip

《数据结构》-01顺序结构的线性表插入删除查找《数据结构》-01顺序结构的线性表插入删除查找 //* * * * * * * * * * * * * * * * * * * * * * * //PROGRAM NAME :顺序结构的线性表 * //CONTENT :插入,删除,查找 * //* * * * * * * * * * * * * * * * * * * * * * * #include #include #include #define MAX 30 //定义线性表的最大长度 enum BOOL{False,True}; //定...

《数据结构》-01顺序结构的线性表插入删除查找
《数据结构》-01顺序结构的线性表插入删除查找 //* * * * * * * * * * * * * * * * * * * * * * * //PROGRAM NAME :顺序结构的线性表 * //CONTENT :插入,删除,查找 * //* * * * * * * * * * * * * * * * * * * * * * * #include #include #include #define MAX 30 //定义线性表的最大长度 enum BOOL{False,True}; //定义BOOL型 typedef struct{ char elem[MAX]; //线性表 int last; //last指示当前线性表的长度 }sqlisttp; void initial(sqlisttp &); //初始化线性表 BOOL insert(sqlisttp &,int,char); //在线性表中插入元素 BOOL del(sqlisttp&,int,char &); //在线性表中删除元素 int locate(sqlisttp,char); //在线性表中定位元素 void print(sqlisttp); //显示线性表中所有元素 void main() {sqlisttp S; //S为一线性表 int loc,flag=1; char j,ch; BOOL temp; textbackground(3); //设置屏幕颜色 textcolor(15); clrscr(); //---------------------------程序解说-------------------------- printf("本程序用来实现顺序结构的线性表。\n"); printf("可以实现查找、插入、删除等操作。\n"); //------------------------------------------------------------- initial(S); //初始化线性表 while(flag) { printf("请选择:\n"); printf("1.显示所有元素\n"); printf("2.插入一个元素\n"); printf("3.删除一个元素\n"); printf("4.查找一个元素\n"); printf("5.退出程序 \n"); scanf(" %c",&j); switch(j) {case '1':print(S); break; //显示所有元素 case '2':{printf("请输入要插入的元素(一个字符)和插入位置:\n"); printf("格式:字符,位置;例如:a,2\n"); scanf(" %c,%d",&ch,&loc); //输入要插入的元素和插入的位置 temp=insert(S,loc,ch); //插入 if(temp==False) printf("插入失败!\n"); //插入失败 else {printf("插入成功!\n"); print(S);} //插入成功 break; } case '3':{printf("请输入要删除元素的位置:"); scanf("%d",&loc); //输入要删除的元素的位置 temp=del(S,loc,ch); //删除 if(temp==True) printf("删除了一个元素:%c\n",ch); //删除成功 else printf("该元素不存在!\n"); //删除失败 print(S); break; } case '4':{printf("请输入要查找的元素:"); scanf(" %c",&ch); //输入要查找的元素 loc=locate(S,ch); //定位 if(loc!=-1) printf("该元素所在位置:%d\n",loc+1); //显示该元素位置 else printf("%c 不存在!\n",ch);//当前元素不存在 break; } \n"); default:flag=0;printf("程序结束,按任意键退出! } } getch(); } void initial(sqlisttp &v) {//初始化线性表 int i; printf("请输入初始线性表长度:n="); //输入线性表初始化时的长度 scanf("%d",&v.last); printf("请输入从1到%d的各元素(字符),例如:abcdefg\n",v.last); getchar(); for(i=0;iv.last+1)) {printf("插入位置不合理!\n"); //位置不合理 return False; } else if(v.last>=MAX) //线性表已满 {printf("线性表已满!\n"); return False; } else {for(i=v.last-1;i>=loc-1;i--) v.elem[i+1]=v.elem[i];//其后元素依次后移 v.elem[loc-1]=ch; //插入元素 v.last++; //线性表长度加一 return True; } } BOOL del(sqlisttp &v,int loc,char &ch) {//删除一个元素,成功返回True,并用ch返回该元素值,失败返回False int j; if(loc<1||loc>v.last) //删除位置不合理 return False; else {ch=v.elem[loc-1]; //ch取得该元素值 for(j=loc-1;j
本文档为【《数据结构》-01顺序结构的线性表插入删除查找】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:19KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-11-28
浏览量:15