俩个数组归并成为一个数组
#include "stdafx.h"
#define M 5
#define N 3
int _tmain(int argc, _TCHAR* argv[])
{
int a[M] = { 1, 3, 5, 6, 9 };
int b[N] = { 2, 4, 7 };
int c[M + N]; //归并的新数组
int ai=0; int bj=0; int ck=0; //定义三个数组的下标
while(ai < M&&bj < N) //循环条件为俩个数组中的数都没有用完
{
if (a[ai] < b[bj])
c[ck++] = a[ai++];
else
c[ck++] = b[bj++];
}
if (ai == M) //ai 数组先结束
{
while( bj < N)
c[ck++] = b[bj++];
}
if (bj == N) //bj 数组先结束
{
while(ai < M)
c[ck++] = a[ai++];
}
for (int i = 0; i < M + N; i++)
{
printf("%d\t", c[i]);
}
return 0;
}