set関数で配列に新しい値を代入の方法

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コンテナ内の値を配列に再代入します。最後に、再代入後の配列を出力します。

bannerAds