欢迎来到天天文库
浏览记录
ID:50908285
大小:38.95 KB
页数:3页
时间:2020-03-15
《顺序表的实现及基于顺序表的集合求并应用.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、sequenlist.htypedefintdatatype;#definemaxsize1024#defineNULL-1typedefstruct{datatypedata[maxsize];intlast;}sequenlist;intLocate(sequenlist*L,datatypex);intLength(sequenlist*L);datatypeGet(sequenlist*L,inti);intDelete(sequenlist*L,inti);sequenlist.c#include#incl
2、ude"sequenlist.h"intLocate(sequenlist*L,datatypex){inti=1;while(i<=(*L).last+1&&(*L).data[i-1]!=x)i++;if(i<=(*L).last+1)returni;elsereturnNULL;}intLength(sequenlist*L){return(*L).last+1;}datatypeGet(sequenlist*L,inti){if(i>=1&&i<=(*L).last+1)return(*L).data[i-1];elsepri
3、ntf("参数i不合理!");}intInsert(sequenlist*L,datatypex,inti){intj;if(i<1
4、
5、i>(*L).last+2
6、
7、(*L).last==maxsize-1)returnNULL;else{for(j=(*L).last;j>=i-1;j--)(*L).data[j+1]=(*L).data[j];(*L).data[i-1]=x;(*L).last++;return1;}}intDelete(sequenlist*L,inti){intj;if((i<1)
8、
9、(i>(*L).la
10、st+1)){printf("error");returnNULL;}else{for(j=i;j<=(*L).last;j++)(*L).data[j-1]=(*L).data[j];(*L).last--;}return(1);}main.c#include#include#include"sequenlist.h"voidUnion(sequenlist*A,sequenlist*B){intn=Length(A);intm=Length(B);inti;for(i=1;i<=m;i++){
11、intx=Get(B,i);intk=Locate(A,x);if(k==-1){Insert(A,x,n+1);n++;}}}voidmain(){intm,n;inti;sequenlist*A,*B;A=(sequenlist*)malloc(sizeof(sequenlist));B=(sequenlist*)malloc(sizeof(sequenlist));printf("输入集合A中元素的个数:");scanf("%d",&m);printf("输入集合A中的元素:");for(i=0;i12、f("%d",&A->data[i]);A->last=m-1;printf("输入集合B中元素的个数:");scanf("%d",&n);printf("输入集合B中的元素:");for(i=0;idata[i]);B->last=n-1;Union(A,B);printf("输入集合A和B的并集中元素:");for(i=0;i<=A->last;i++)printf("%d",A->data[i]);free(A);free(B);getch();}
12、f("%d",&A->data[i]);A->last=m-1;printf("输入集合B中元素的个数:");scanf("%d",&n);printf("输入集合B中的元素:");for(i=0;idata[i]);B->last=n-1;Union(A,B);printf("输入集合A和B的并集中元素:");for(i=0;i<=A->last;i++)printf("%d",A->data[i]);free(A);free(B);getch();}
此文档下载收益归作者所有