| 16 | printf("%d ",arr.A[i]); |
| 17 | } |
| 18 | struct Array* Union(struct Array *arr1,struct Array *arr2) |
| 19 | { |
| 20 | int i,j,k; |
| 21 | i=j=k=0; |
| 22 | |
| 23 | struct Array *arr3=(struct Array *)malloc(sizeof(struct |
| 24 | Array)); |
| 25 | |
| 26 | while(i<arr1->length && j<arr2->length) |
| 27 | { |
| 28 | if(arr1->A[i]<arr2->A[j]) |
| 29 | arr3->A[k++]=arr1->A[i++]; |
| 30 | else if(arr2->A[j]<arr1->A[i]) |
| 31 | arr3->A[k++]=arr2->A[j++]; |
| 32 | else |
| 33 | { |
| 34 | arr3->A[k++]=arr1->A[i++]; |
| 35 | j++; |
| 36 | } |
| 37 | } |
| 38 | for(;i<arr1->length;i++) |
| 39 | arr3->A[k++]=arr1->A[i]; |
| 40 | for(;j<arr2->length;j++) |
| 41 | arr3->A[k++]=arr2->A[j]; |
| 42 | |
| 43 | arr3->length=k; |
| 44 | arr3->size=10; |
| 45 | |
| 46 | return arr3; |
| 47 | } |
| 48 | struct Array* Intersection(struct Array *arr1,struct Array |
| 49 | *arr2) |
| 50 | { |