欢迎来到天天文库
浏览记录
ID:50840610
大小:33.00 KB
页数:4页
时间:2020-03-15
《数据结构线性表顺序表源代码C.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#defineMAXSIZE100//MAXSIZE为线性表可能的最大长度#include#includetypedefintElemType;typedefstruct{ElemTypedata[MAXSIZE];intlength;//length为线性表的长度}SqList;SqListl;//线性表定义voidInitList(SqList&L)//初始化操作,将线性表L置空{L.length=0;//g给顺序表长度初始化为0}voidCreatSqlist(S
2、qList&L,intn)//建立一个顺序存储的线性表{printf("请输入节点");inti;for(i=0;i3、st&L,inti)//删除一个元素{intj;if(i<14、5、i>L.length)//删除位置错误{printf("error");return0;}else{for(j=i;j=MAXSIZE-1){printf("overf6、low");return1;}//上溢elseif((i<1)7、8、(i>L.length+1)){printf("error");return1;}else{for(j=L.length;j>=i-1;j--)L.data[j+1]=L.data[j];//元素位置依次后移一位L.data[i-1]=x;//在第i个节点上插入xL.length=L.length+1;//插入之后长度加1}return0;}intGET(SqList&L,inti)//从表中获得一个元素{intm;if((i<0)9、10、(i>L.11、length)){printf("overflow");return1;}elseif((i>=1)&&(i<=L.length)){m=L.data[i-1];}printf("%d",m);return0;}intchazhao(SqList&L,intx)//从表中查找元素{inti,k;printf("请输入你要查找的元素x=?");scanf("%d",&x);for(i=0;i<=(L.length+1);i++)//从第一个元素开始查找,与X比较。{if(x==L.data[i]){print12、f("要查找的元素%d位于%d上",x,i+1);k=0;break;}}if(k!=0)printf("%d不在表中",x);return0;}intPUEGE(SqList&L)//删除线性表中重复出现的多余节点{inti=1,j,x,y;while(i13、urn0;}intmain(){intn,i,k,x;InitList(l);printf("请输入线性表的长度");scanf("%d",&n);CreatSqlist(l,n);Output(l);printf("请输入你要删除元素的位置=?");scanf("%d",&k);DELETE(l,k);Output(l);printf("请输入想要插入的数和位置x,i=?");scanf("%d,%d",&x,&i);INSERT(l,x,i);Output(l);printf("请输入你要取的数在的节点位置14、");scanf("%d",&i);GET(l,i);chazhao(l,x);PUEGE(l);return0;}
3、st&L,inti)//删除一个元素{intj;if(i<1
4、
5、i>L.length)//删除位置错误{printf("error");return0;}else{for(j=i;j=MAXSIZE-1){printf("overf
6、low");return1;}//上溢elseif((i<1)
7、
8、(i>L.length+1)){printf("error");return1;}else{for(j=L.length;j>=i-1;j--)L.data[j+1]=L.data[j];//元素位置依次后移一位L.data[i-1]=x;//在第i个节点上插入xL.length=L.length+1;//插入之后长度加1}return0;}intGET(SqList&L,inti)//从表中获得一个元素{intm;if((i<0)
9、
10、(i>L.
11、length)){printf("overflow");return1;}elseif((i>=1)&&(i<=L.length)){m=L.data[i-1];}printf("%d",m);return0;}intchazhao(SqList&L,intx)//从表中查找元素{inti,k;printf("请输入你要查找的元素x=?");scanf("%d",&x);for(i=0;i<=(L.length+1);i++)//从第一个元素开始查找,与X比较。{if(x==L.data[i]){print
12、f("要查找的元素%d位于%d上",x,i+1);k=0;break;}}if(k!=0)printf("%d不在表中",x);return0;}intPUEGE(SqList&L)//删除线性表中重复出现的多余节点{inti=1,j,x,y;while(i13、urn0;}intmain(){intn,i,k,x;InitList(l);printf("请输入线性表的长度");scanf("%d",&n);CreatSqlist(l,n);Output(l);printf("请输入你要删除元素的位置=?");scanf("%d",&k);DELETE(l,k);Output(l);printf("请输入想要插入的数和位置x,i=?");scanf("%d,%d",&x,&i);INSERT(l,x,i);Output(l);printf("请输入你要取的数在的节点位置14、");scanf("%d",&i);GET(l,i);chazhao(l,x);PUEGE(l);return0;}
13、urn0;}intmain(){intn,i,k,x;InitList(l);printf("请输入线性表的长度");scanf("%d",&n);CreatSqlist(l,n);Output(l);printf("请输入你要删除元素的位置=?");scanf("%d",&k);DELETE(l,k);Output(l);printf("请输入想要插入的数和位置x,i=?");scanf("%d,%d",&x,&i);INSERT(l,x,i);Output(l);printf("请输入你要取的数在的节点位置
14、");scanf("%d",&i);GET(l,i);chazhao(l,x);PUEGE(l);return0;}
此文档下载收益归作者所有