/* * c实现数组归并; */ #include <stdio.h> void mergeList(int a[], int b[], int al, int bl) { int c[al + bl]; int cl = sizeof(c)/sizeof(int); int i=0,j=0; int p=0; while((i<al)&&(j<bl)) { if(a[i]<=b[j]) { c[p] = a[i]; p++; i++; } else { c[p] = b[j]; j++; p++; } } while(i<al) { c[p] = a[i]; i++; p++; } while(j<bl) { c[p] = b[j]; j++; p++; } for(int i=0; i<cl; i++) { printf("%d/n",c[i]); } } main() { int a[] = {2,3,5,6,7,8,11,13,15,19}; int b[] = {1,2,4,5,7,9,10,12,14,20}; mergeList(a, b, sizeof(a)/sizeof(int), sizeof(b)/sizeof(int)); }