将两个按升序排列的数组合并成一个数组,并使合并后的数组也按升序排列

用c语言,并且用指针

#include <iostream>
using namespace std;
void meger(int a[],int b[],int m,int n);
int main()
{
 int A[5]={1,5,3,7,9};//定义了第一个数组和值
 int B[5]={2,4,8,6,10};//定义了第二个数组和值
 meger(A,B,5,5);//调用函数
 return 0;
}
void meger(int a[],int b[],int m,int n)
{
 int *R=new int[m+n]();//new一个新数组,长度是两个数组长度之和
 int u=0;
 int i=0;
 while(i<m+n)//把两个数组的值装入新的数组中
 {
  R[i]=a[u];
  R[i+1]=b[u];
  u++;
  i+=2;
 }
 int temp;
 i=0;
 while(i<m+n-1)//利用冒泡排序法将数组排序
 {
  for(int j=m+n-1;j>i;j--)
  {
   if(R[j]<R[j-1])
   {
    temp=R[j];
    R[j]=R[j-1];
    R[j-1]=temp;
   }
  }
  i++;
 }
 i=0;
 while(i<m+n)//输出排序好的数组
 {
  cout<<R[i]<<"  ";
  i++;
 }
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答