C++ 使用集合在三个数组中找到共同元素的C++程序

C++ 使用集合在三个数组中找到共同元素的C++程序

在本文中,我们将介绍如何使用集合在三个数组中找到共同的元素,并在C++中实现这个功能。我们将使用C++中的STL库中的集合模板类来处理这个问题。

阅读更多:C++ 教程

问题描述和分析

给定三个整数数组arr1、arr2和arr3,我们需要找到这三个数组中共同的元素。我们可以使用集合来解决这个问题,因为集合只存储不重复的元素。我们可以遍历每个数组的元素,并将它们添加到集合中。然后,我们检查每个数组的元素是否在其他两个数组中也存在。如果存在,则它是一个共同的元素。

C++程序实现

下面是一个用C++编写的程序,用于找到三个数组中的共同元素:

#include <iostream>
#include <vector>
#include <set>

std::vector<int> findCommonElements(const std::vector<int>& arr1, const std::vector<int>& arr2, const std::vector<int>& arr3) {
    std::set<int> set1(arr1.begin(), arr1.end());
    std::set<int> set2(arr2.begin(), arr2.end());
    std::set<int> set3(arr3.begin(), arr3.end());

    std::vector<int> result;

    for (int num : set1) {
        if (set2.count(num) && set3.count(num)) {
            result.push_back(num);
        }
    }

    return result;
}

int main() {
    std::vector<int> arr1 = {1, 2, 3, 4, 5};
    std::vector<int> arr2 = {4, 5, 6, 7, 8};
    std::vector<int> arr3 = {1, 4, 5, 9, 10};

    std::vector<int> commonElements = findCommonElements(arr1, arr2, arr3);

    std::cout << "共同元素: ";
    for (int num : commonElements) {
        std::cout << num << " ";
    }

    return 0;
}
C++

输出:

共同元素: 4 5
C++

在上面的程序中,我们首先使用集合来存储每个数组的元素。然后,我们遍历第一个集合的元素,并在其他两个集合中检查该元素是否存在。如果存在,则将其添加到结果向量中。最后,我们将结果打印出来。

总结

使用集合在三个数组中找到共同元素是一个常见的问题。通过使用C++中的STL库中的集合模板类,我们可以方便地实现这个功能。本文中的示例程序演示了如何使用集合来解决这个问题。希望本文对您有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册