#include <iostream>
using namespace std;
#define M 5
#define N 3
int main(void)
{
int a[M]={1,3,5,7,9};
int b[N]={2,4,6};
int c[M+N];
int ai=0,bj=0,ck=0; //三个标识位,分别记录三个数组的下标
while(ai<M&&bj<N) //a数组和b数组都没有到达末尾时
{
if(a[ai]<b[bj])
c[ck++]=a[ai++];
else
c[ck++]=b[bj++];
}
if(ai==M) //若a数组已经到达末尾,直接把b数组剩余元素拷贝到c数组即可
{
while(bj<N)
c[ck++]=b[bj++];
}
if(bj==N) //若b数组已经到达末尾,直接把数组剩余元素拷贝到c数组即可
{
while(ai<M)
c[ck++]=a[ai++];
}
for(auto &i:c) //遍历c数组
cout<<i<<endl;
return 0;
}
c++两个有序的数组合并成一个有序的数组
猜你喜欢
转载自blog.csdn.net/qq_29824717/article/details/81093183
今日推荐
周排行