21xrx.com
2024-11-08 23:29:48 Friday
登录
文章检索 我的文章 写文章
C++求解两个数组的并集
2023-07-03 02:21:01 深夜i     --     --
C++ 求解 数组 并集

C++是一门常用的编程语言,用它来求解数组的并集也是非常简单的。在C++中,我们可以使用STL库中的set数据结构来求解两个数组的并集。

set是一个有序且不允许重复的数据结构,它的元素都是按照从小到大的顺序排列。因为它不允许重复,所以它很适合用来求解数组的并集。我们只需要把两个数组中的元素都放进一个set中,set会自动去重并排序,最终得出的set就是两个数组的并集。

下面是使用set来求解两个数组的并集的C++代码示例:


#include <iostream>

#include <set>

using namespace std;

int main() {

  int arr1[] = 4;

  int arr2[] = 6;

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

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

  set<int> s;

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

    s.insert(arr1[i]);

  }

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

    s.insert(arr2[i]);

  }

  for (auto i : s)

    cout << i << " ";

  

  return 0;

}

在以上代码中,我们首先定义了两个数组arr1和arr2,并且分别给它们赋初值。然后我们计算出数组的长度n1和n2。接着,我们定义一个set s,将arr1和arr2中的元素都插入到s集合中。最后,我们遍历s集合并输出。

以上代码输出的结果为:1 2 3 4 5 6 7,即arr1和arr2的并集。

在使用set求解数组的并集时,需要注意的一点是,set的元素类型必须支持小于运算符,因此我们需要确保数组的元素类型能够支持此运算符。

总之,C++中使用STL库中的set数据结构求解数组的并集非常简单,只需要将数组中的元素插入到set中即可。使用set不仅代码简单,而且效率也比较高,因为set底层采用红黑树实现,查找效率很高。

  
  

评论区

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