当前位置:首页 >> 电力/水利 >>

01顺序结构的线性表插入删除查找


//* * * * * * * * * * * * * * * * * * * * * * * //PROGRAM NAME :顺序结构的线性表 * //CONTENT :插入,删除,查找 * //* * * * * * * * * * * * * * * * * * * * * * * #include <dos.h> #include <conio.h>

; #include <stdio.h> #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; } default:flag=0;printf("程序结束,按任意键退出!\n"); } } getch(); } void initial(sqlisttp &v) {//初始化线性表 int i; printf("请输入初始线性表长度:n="); //输入线性表初始化时的长度 scanf("%d",&v.last); printf("请输入从 1 到%d 的各元素(字符),例如:abcdefg\n",v.last); getchar(); for(i=0;i<v.last;i++) scanf("%c",&v.elem[i]); //输入线性表的各元素 } BOOL insert(sqlisttp &v,int loc,char ch) {//插入一个元素,成功返回 True,失败返回 False int i; if((loc<1)||(loc>v.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<v.last-1;j++) v.elem[j]=v.elem[j+1]; //其后元素依次前移 v.last--; //线性表长度减一 return True; } } int locate(sqlisttp v,char ch) {//在线性表中查找 ch 的位置,成功返回其位置,失败返回-1 int i=0; while(i<v.last&&v.elem[i]!=ch) i++; //当前位置后移,直到找到为止 if(v.elem[i]==ch) //找到当前元素 return i; else return(-1); } void print(sqlisttp v) //显示当前线性表所有元素 {int i; for(i=0;i<v.last;i++) printf("%c ",v.elem[i]); printf("\n"); }


相关文章:
线性表顺序存储结构插入,删除
线性表顺序存储结构插入,删除_计算机软件及应用_IT/计算机_专业资料。线性表顺序...01顺序结构的线性表插入... 3页 免费 01顺序结构的线性表插入... 3页 免费...
数据结构-线性表输入,输出,插入,删除,查找
数据结构-线性表输入,输出,插入,删除,查找_计算机软件及应用_IT/计算机_专业资料...ElemType &e)//删除函数 引用调用 { //在顺序线性表 L 中删除第 i 个...
...为整型的顺序存储的线性表进行插入、删除和查找操作...
数据结构 对元素类型为整型的顺序存储的线性表进行插入删除查找操作。_计算机软件及应用_IT/计算机_专业资料。对元素类型为整型的顺序存储的线性表进行插入删除...
实验目的:掌握线性表的基本操作:插入、删除、查找在链...
链表的基本操作 学号 B11050516 姓名 实验日期 成绩 李满意 2013.03.27 课程名称 实验名称 实验目的: 掌握线性表的基本操作:插入删除查找在链式存储结构上的...
实验一 顺序存储结构线性表的插入与删除
实验一 顺序存储结构线性表的插入与删除_IT/计算机_专业资料。en实验...实验一 数据结构顺序表... 2页 免费 01顺序结构的线性表插入... 2页 免费...
数据结构01线性表的基本操作
数据结构01线性表的基本操作 隐藏>> 附录 实验报告参考规范 《数据结构》实验报告...要求建立一个顺序表,然后能够在顺序表插入,删除,查找指定元素并且输出顺序表的...
线性表-顺序结构-查找-插入-删除
同系列文档 线性表-链式结构-查找-插入...1/2 相关文档推荐 顺序结构的线性表插入,删除... 2页 1财富值 01顺序结构的线性表插入删... 3页 免费 01顺序...
线性表的插入和删除(数据结构)
线性表的插入删除(数据结构)_计算机软件及应用_IT/计算机_专业资料。电子信息...(签名) : 实验目的: 熟悉掌握线性表的基本操作在顺序存储结构和链式存储结构上...
实验报告 线性表的顺序存储结构
插入删除算法的程序编写及运用 原理实验 运行 Visual c++的微机一台 仪器实验步骤实验内容 1、分别编写线性表顺序结构的初始化、遍历、插入删除的程序 2、编写...
在顺序存储结构线性表中插入或删除一个数据元素的时间...
顺序存储结构线性表插入删除一个数据元素的时间复杂度( )。 A.不同B.都为O(C.都为O(n2)D.都为O(1)_答案解析_2016年_一模/二模/三模/联考_图文...
更多相关标签:
线性表顺序查找 | 线性表的顺序存储结构 | 线性表顺序存储结构 | 数据结构顺序查找算法 | 数据结构顺序查找 | 数据结构顺序查找代码 | 顺序线性表 | 对于顺序存储的线性表 |