
1 #include<stdio.h> 2 typedef struct{ 3 int element[50]; 4 int length; 5 }SeqList; 6 CreateSeqList(SeqList*S) 7 { 8 scanf("%d",&S->length); 9 for(int i=0;i<S->length;i++) 10 scanf("%d",&S->element[i]); 11 } 12 MergeSeqList(SeqList A,SeqList B,SeqList*C) 13 { 14 int a=0,b=0,c=0; 15 while(a<A.length) 16 { 17 while(b<B.length&&B.element[b]<A.element[a])b++; 18 if(A.element[a]==B.element[b]) 19 { 20 C->element[c]=A.element[a]; 21 c++; 22 } 23 a++; 24 } 25 C->length=c; 26 } 27 DeleteSame(SeqList*C) 28 { 29 int p=0,q,r,t; 30 while(p<C->length) 31 { 32 for(q=p+1;q<C->length&&C->element[p]==C->element[q];q++); 33 if(q!=p+1) 34 { 35 t=p+1,r=q; 36 while(r<C->length) 37 C->element[t++]=C->element[r++]; 38 C->length=C->length-q+p+1; 39 } 40 p++; 41 } 42 } 43 Order(SeqList*C) 44 { 45 for(int i=0;i<C->length;i++) 46 printf("%d ",C->element[i]); 47 } 48 int main() 49 { 50 SeqList A,B,C; 51 CreateSeqList(&A),CreateSeqList(&B); 52 MergeSeqList(A,B,&C); 53 DeleteSame(&C); 54 Order(&C); 55 return 0; 56 57 }