21xrx.com
2025-04-11 17:30:09 Friday
文章检索 我的文章 写文章
C++实现合并两个有序数组的主函数
2023-07-02 18:44:59 深夜i     38     0
C++ 合并 有序数组 主函数

合并两个有序数组是常见的编程问题,也是面试中经常出现的问题。C ++是一种流行的编程语言,它具有处理数组的优秀工具,可以帮助我们快速解决这个问题。下面是一个C ++实现合并两个有序数组的主函数。

#include<iostream>
using namespace std;
void merge(int arr1[], int n1, int arr2[], int n2, int arr3[]){
int i=0, j=0, k=0;
while(i<n1 && j<n2){
if(arr1[i]<arr2[j]){
arr3[k++]=arr1[i++];
}
else{
arr3[k++]=arr2[j++];
}
}
while(i<n1){
arr3[k++]=arr1[i++];
}
while(j<n2){
arr3[k++]=arr2[j++];
}
}
int main(){
int n1, n2, i;
cin>>n1>>n2;
int arr1[n1], arr2[n2], arr3[n1+n2];
for(i=0;i<n1;i++){
cin>>arr1[i];
}
for(i=0;i<n2;i++){
cin>>arr2[i];
}
merge(arr1, n1, arr2, n2, arr3);
for(i=0;i<n1+n2;i++){
cout<<arr3[i]<<" ";
}
return 0;
}

上面的代码使用了三个数组:arr1,arr2和arr3。输入两个数组arr1和arr2,它们都有n1和n2个元素。我们还创建了arr3数组来存储两个数组的合并结果。通过循环,我们将arr1和arr2中的元素逐个比较并将较小的元素放入arr3中,最终将插入到arr1和arr2中的所有元素都复制到arr3中。

在这个主函数中,我们使用了基本的数组操作和循环。尽管这个问题看起来很简单,但这个例子向我们展示了用C ++从零开始完成一个有用的程序的基本方法。

在实际的应用中,比如当我们需要在网站或应用程序中排序数据时,这个程序帮助我们合并两个有序数组,以便我们可以轻松地对它们进行排序。在面试中,这个问题也经常出现,因为它考察了我们对数组和基本算法的基本知识。

  
  

评论区