用自己电脑做网站服务器,学生个人网页制作html源代码,做网站常熟,满18点此转入2o2已知A#xff0c;B和C为三个递增有序的线性表#xff0c;现要求对A表作如下操作#xff1a;删去那些既在B表中出现又在C表中出现的元素。试对顺序表编写实现上述操作的算法.#xff08;注意#xff1a;题中没有特别指明同一表中的元素值各不相同#xff09;。C code: #in…已知AB和C为三个递增有序的线性表现要求对A表作如下操作删去那些既在B表中出现又在C表中出现的元素。试对顺序表编写实现上述操作的算法.注意题中没有特别指明同一表中的元素值各不相同。 C code: #includestdio.h#includestdlib.h#define LIST_INIT_SIZE 10#define LIST_INCREMENT 2#define ERROR 0#define OK 1#define OVERFLOW -1#define TRUE 1typedef int Status;struct SqList{ int *elem; int length; int listsize;};void InitList(SqList L){ L.elem(int*)malloc(LIST_INIT_SIZE*sizeof(int)); if(!L.elem) exit(OVERFLOW); L.length0; L.listsizeLIST_INIT_SIZE;}Status ListInsert(SqList L,int i,int e){ int *newbase,*q,*p; if(i1||iL.length1) return ERROR; if(L.lengthL.listsize) { newbase(int*)realloc(L.elem,(L.listsizeLIST_INCREMENT)*sizeof(int)); if(!newbase) exit(OVERFLOW); L.elemnewbase; L.listsizeLIST_INCREMENT; } qL.elemi-1; for(pL.elemL.length-1; pq; --p) *(p1)*p; *qe; L.length; return OK;}void CreateList(SqList L,int len){ int i,t; printf(Please input elems: ); for(i1; ilen; i) { scanf(%d,t); ListInsert(L,i,t); }}void ListTraverse(SqList L,void(*vist)(int)){ int *pL.elem; int i; for(i1; iL.length; i) { vist(*p); } printf(\n);}void print1(int c){ printf(%d ,c);}int cmp(const void *a,const void *b){ return *(int*)a - *(int*)b;}void ListSort(SqList L){ qsort(L.elem,L.length,sizeof(int),cmp); }void ListCross(SqList La,SqList Lb,SqList Lc){ int i0,j0,k1; while(iLa.length jLb.length) { if(La.elem[i]Lb.elem[j]) i; else { if(La.elem[i]Lb.elem[j]) j; else { ListInsert(Lc,k,La.elem[i]); i; k; } } }}void ListMinus(SqList La,SqList Lb,SqList Lc){ int i0,j0,k1; while(iLa.length jLb.length) { if(La.elem[i]Lb.elem[j]) { ListInsert(Lc,k,La.elem[i]); i; k; } else { if(La.elem[i]Lb.elem[j]) { j; } else { i; j; } } } }int main(){ SqList La,Lb,temp,Lc,Ld; InitList(La); InitList(Lb); InitList(Lc); InitList(Ld); InitList(temp); int La_len,Lb_len,Lc_len; printf(input length of La: ); scanf(%d,La_len); printf(input length of Lb: ); scanf(%d,Lb_len); printf(input length of Lc: ); scanf(%d,Lc_len); CreateList(La,La_len); CreateList(Lb,Lb_len); CreateList(Lc,Lc_len); printf(List a: ); ListTraverse(La,print1); printf(List b: ); ListTraverse(Lb,print1); printf(List c: ); ListTraverse(Lc,print1); printf(After sorting List a: ); ListSort(La); ListTraverse(La,print1); printf(After sorting List b: ); ListSort(Lb); ListTraverse(Lb,print1); printf(After sorting List c: ); ListSort(Lc); ListTraverse(Lc,print1); ListCross(Lb,Lc,temp); ListSort(temp); printf(temp List: ); ListTraverse(temp,print1); ListMinus(La,temp,Ld); ListSort(Ld); printf(List d: ); ListTraverse(Ld,print1); return 0; } 转载于:https://www.cnblogs.com/iwuyudong/archive/2011/05/03/2234051.html