#include <stdio.h>
#define ARRY_ZIZE(arr) (sizeof(arr)/sizeof(arr[0]))
int main(int argc, const char *argv[])
{
int a[] = {1,5,8,9,13};
int b[] = {2,3,4,7,10,11,12};
int c[20]={0};
int i=0,j=0,k=0;
while(i<ARRY_ZIZE(a) && j<ARRY_ZIZE(b))
{
while(a[i]<b[j]&&i<ARRY_ZIZE(a))
{
c[k++] = a[i++];
}
while(i<ARRY_ZIZE(a)&&a[i]>b[j]&&j<ARRY_ZIZE(b))
{
c[k++] = b[j++];
}
}
c[k++] = b[j++];
for(k=0;k<20;k++)
{
printf("c[%d] = %d\n",k,c[k]);
}
return 0;
}
本文介绍了一个使用C语言实现的数组合并算法,通过定义一个宏来动态获取数组大小,并使用两个循环来比较并合并两个已排序的整数数组,最终将结果输出。

被折叠的 条评论
为什么被折叠?



