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