《顺序表的插入、删除、查找.doc》由会员分享,可在线阅读,更多相关《顺序表的插入、删除、查找.doc(3页珍藏版)》请在金锄头文库上搜索。
1、题目:顺序表的插入、删除、查找一、源程序#include stdio.h#include malloc.h#define maxsize 1024typedef char datatype;typedef structdatatype datamaxsize;int last;sequenlist;int insert(sequenlist *L,datatype x,int i)int j;if(L-last=maxsize-1)printf(overflow);return 0;else if(iL-last)printf(error,please input the righti);re
2、turn 0;elsefor(j=L-last;j=i;j-)L-dataj+1=L-dataj;L-datai=x;L-last=L-last+1;return(1);int dellist(sequenlist *L,int i)if(iL-last)printf(error,please input the right i);return 0;elsefor(;ilast;i+)L-datai=L-datai+1;L-last=L-last-1;return(1);void creatlist(sequenlist *L)int n,i;char tmp;printf(请输入数据的个数:
3、n);scanf(%d,&n);for(i=0;idatai=tmp;L-last=n-1;printf(n);void printout(sequenlist *L)int i;for(i=0;ilast;i+)printf(data%d=,i);printf(%cn,L-datai);main()sequenlist *L;char cmd,x;int i;L=(sequenlist *)malloc(sizeof(sequenlist);creatlist(L);printout(L);doprintf(i,I.插入n);printf(d,D.删除n);printf(q,Q.退出n);d
4、offlush(stdin);scanf(%c,&cmd);while(cmd!=d)&(cmd!=D)&(cmd!=q)&(cmd!=Q)&(cmd!=i)&(cmd!=I);switch(cmd)case i:caseI:printf(请输入你要插入的数据:);fflush(stdin);scanf(%c,&x);printf(请输入你要插入的位置:);scanf(%d,&i);insert(L,x,i);printout(L);break;cased:caseD:printf(请输入你要删除的数据的位置:);fflush(stdin);scanf(%d,&i);dellist(L,i);printout(L);break;while(cmd!=q)&(cmd!=Q);二