欢迎来到天天文库
浏览记录
ID:50840618
大小:38.95 KB
页数:4页
时间:2020-03-15
《数据结构之顺序表的C语言实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#include#include#defineMAXSIZE800#defineETcharstructlist{charalist[MAXSIZE];intsize;};intlength(structlist*p){returnp->size;}intlocate(structlist*p,ETx){inti;for(i=1;i<=p->size;i++)if(p->alist[i]==x)break;returni;}intinsert(structlist*p,inti,ETx){intj;i
2、f(i>p->size){printf("CanNotInsertTheELEMENT!");return1;}for(j=p->size;j>=i;j--){p->alist[j+1]=p->alist[j];}p->alist[i]=x;p->size++;//线性表的数量+1return0;//插入成功返回0}intdel(structlist*p,inti){intj;if(i>p->size){printf("CanNotDeleteNo.%dElementBecause%disBiggerThantheSizeOftheList!",i);return-
3、1;}for(j=i;jsize;j++){p->alist[j]=p->alist[j+1];}p->alist[p->size]=' ';p->size--;return0;}charget(structlist*p,inti){if(i>p->size){printf("%disBiggerThanThelist!",i);exit(1);}returnp->alist[i];}voidmerge(structlist*l1,structlist*l2){inti,j;for(i=l1->size,j=1;j<=l2->size;j++,i++){l1-
4、>alist[i]=l2->alist[j];}l1->size+=l2->size;}voiddisplay(structlist*p){inti;for(i=1;i<=p->size;i++){printf("%c",p->alist[i]);}printf("");}intmain(){inti;structlista1,a2;structlist*p1,*p2;charl1[30]="&^*(&@@@<>?@#%^$@#$$%$#$@";charl2[30]="
5、
6、
7、
8、
9、
10、
11、
12、
13、
14、
15、
16、
17、
18、
19、
20、
21、
22、
23、
24、
25、
26、
27、
28、
29、";p1=&a1;p2=&a2;p1->size=s
30、trlen(l1);p2->size=strlen(l2);strcpy(a1.alist,l1);strcpy(a2.alist,l2);//原始数据printf("Data:");puts(p1->alist);puts(p2->alist);printf("");//插入printf("Insert:");for(i=1;i<5;i++){insert(p1,16,'t');}printf("");puts(p1->alist);puts(p2->alist);printf("");//连接两个顺序表printf("Merge:");merge
31、(p1,p2);display(p1);printf("");//删除数据printf("Delete:");for(i=1;i<5;i++){del(p1,14);}display(p1);printf("");//定位printf("Locate:@:");i=locate(p1,'@');printf("%d",i);printf("");return0;}
此文档下载收益归作者所有