21xrx.com
2024-11-05 20:24:33 Tuesday
登录
文章检索 我的文章 写文章
「C++合并两个有序数组」-实现主函数
2023-07-05 10:36:57 深夜i     --     --
C++ 合并 两个 有序数组 实现主函数

C++合并两个有序数组 - 实现主函数

将两个有序的数组进行合并是一个常见的操作。在C++中,我们可以使用一个简单的函数来实现这个功能。这个函数可以很容易地合并两个有序数组,并将它们组合成一个新的有序数组。

这里是一个用于合并两个有序数组的C++代码示例:


#include <iostream>

using namespace std;

void merge(int arr1[], int arr2[], int n1, int n2)

{

  int i = 0, j = 0, k = 0;

  int arr3[n1+n2];

  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++];

  cout << "Merged array is :";

  for (int i=0; i < n1+n2; i++)

    cout << arr3[i] << " ";

}

int main()

{

  int arr1[] = 3;

  int arr2[] = 6;

  int n1 = sizeof(arr1)/sizeof(arr1[0]);

  int n2 = sizeof(arr2)/sizeof(arr2[0]);

  merge(arr1, arr2, n1, n2);

  return 0;

}

这段代码包含一个主函数(main)和一个合并操作的函数(merge)。合并函数中的变量i、j和k用于跟踪第一个数组、第二个数组和合并数组的索引。合并数组的大小(arr3)是第一个数组和第二个数组的总大小。

合并函数遍历两个数组并将它们中的每个元素与彼此进行比较。当找到小的值时,它被添加到完整数组中。如果数组中还有剩余元素,则@while@循环迭代并将它们添加到完整数组中。

在主函数中,我们定义了两个有序数组,并使用sizeof运算符将它们的大小存储在变量n1和n2中。我们调用合并函数,并将这些参数传递给它。

当程序运行时,它将输出一个合并后的数组,其中包含在合并函数中进行比较操作的所有元素。由于数组是有序的,因此合并后的数组也是有序的。

在C++中,合并两个有序数组非常简单。使用上述代码作为模板,您可以轻松地开发出自己的数组合并函数。

  
  

评论区

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