//给定两个有序数组a和b,已知数组a末尾还有足够的空间容纳b,写一个函数将数组b合并到数组a中。
//n:数组a中的元素个数
//m:数组b中的元素个数
#include<iostream>
using namespace std;
void merge(int a[],int b[],int n,int m)
{
int k=n+m-1;
int i=n-1;
int j=m-1;
while(i>=0&&j>=0)
{
if(a[i]>b[j])
{
a[k--]=a[i--];
}
else
{
a[k--]=b[j--];
}
}
while(j>=0)
a[k--]=b[j--];
}
void main()
{
int n;
int a[100]={0};
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
int b[]={2,6,8,9,11,15,20};
int m=sizeof(b)/sizeof(int);
merge(a,b,n,m);
for(int i=0;i<=n+m-1;i++)
{
if(a[i]!=0)
cout<<a[i]<<" ";
}
cout<<endl;
}
将数组b合并到数组a中
最新推荐文章于 2023-08-01 15:27:15 发布