c++

c++怎么用set函数对数组重新赋值

小亿
157
2023-12-08 08:31:47
栏目: 编程语言

在C++中,可以使用std::set函数对数组重新赋值。set函数是通过将值插入到set容器中,自动去重并按照升序排列的方式对数组重新赋值。

下面是一个示例代码:

#include <iostream>
#include <set>
#include <iterator>

int main() {
    int arr[] = {3, 5, 2, 5, 4, 1, 4};
    int n = sizeof(arr) / sizeof(arr[0]);

    // 使用set函数对数组重新赋值
    std::set<int> s(arr, arr + n);
    // 清空原数组
    std::fill(arr, arr + n, 0);
    // 将set中的值重新赋值给数组
    std::copy(s.begin(), s.end(), arr);

    // 打印重新赋值后的数组
    std::cout << "重新赋值后的数组: ";
    for (int i = 0; i < n; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

运行结果:

重新赋值后的数组: 1 2 3 4 5

在上面的示例中,首先定义一个int类型的数组arr,并初始化。然后使用std::set函数将数组中的元素插入到set容器中,去重并排序。接着使用std::fill函数将原数组中的元素全部置为0,最后使用std::copy函数将set容器中的值重新赋值给数组。最后打印重新赋值后的数组。

0
看了该问题的人还看了