21xrx.com
2025-06-21 21:19:02 Saturday
文章检索 我的文章 写文章
C++实现数组交集与并集操作
2023-07-12 14:08:24 深夜i     19     0
C++ 数组 交集 并集 操作

在C++语言中,数组是一种非常常用的数据结构,而对于数组的操作中,交集和并集也是非常常见的需求。本文将介绍如何使用C++语言实现数组的交集和并集操作。

首先,让我们先明确交集和并集的定义。对于两个数组A和B,它们的交集是指两个数组中都含有的元素集合,而它们的并集是指包含A和B中所有元素的集合。接下来,我们将分别介绍如何实现这两种操作。

数组交集操作:

我们可以使用两个for循环来遍历数组A和B,如果两个数组中都含有某个元素,则将它添加到新数组中,并保证新数组中不出现重复元素。

下面给出代码实现:

int a[] = 5;
int b[] = 4;
int c[5];
int k = 0;
for (int i = 0; i < 5; i++) {
  for (int j = 0; j < 4; j++) {
    if (a[i] == b[j]) {
      c[k++] = a[i];
      break;
    }
  }
}

在上面的代码中,我们定义了数组a和b,它们分别表示两个待比较的数组。然后我们定义了一个新数组c,用来存储交集的元素。变量k用来记录新数组中已经添加了多少个元素。接下来,我们使用两个for循环来遍历数组a和b,如果两个数组中含有相同的元素,则将其添加到新数组c中。最后,我们得到的新数组c就是两个数组的交集。

数组并集操作:

同样地,我们可以使用for循环来遍历数组A和B,将所有元素添加到新数组中,然后再使用set STL库函数来去除新数组中的重复元素。

下面给出代码实现:

int a[] = 1;
int b[] = 8;
int c[8];
int k = 0;
for (int i = 0; i < 5; i++) {
  c[k++] = a[i];
}
for (int i = 0; i < 4; i++) {
  c[k++] = b[i];
}
set<int> s (c, c + 8);
k = 0;
for (auto i : s) {
  c[k++] = i;
}

在上面的代码中,我们定义了数组a和b,它们分别表示两个待比较的数组。然后我们定义了一个新数组c,用来存储两个数组的并集。变量k用来记录新数组中已经添加了多少个元素。接下来,我们使用两个for循环来遍历数组a和b,将所有元素添加到新数组c中。然后我们使用set STL库函数来去除新数组c中的重复元素,最后得到的新数组c就是两个数组的并集。

在本文中,我们使用C++语言实现了数组的交集和并集操作。这两种操作在实际编程中非常常见,掌握了它们的实现方法,可以为我们的日常工作带来很大的帮助。

  
  

评论区