21xrx.com
2024-11-22 05:36:38 Friday
登录
文章检索 我的文章 写文章
C++实现合并两个有序数组的主函数
2023-07-02 18:44:59 深夜i     --     --
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 ++从零开始完成一个有用的程序的基本方法。

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复