もどくんちゃんねる ガジェット部

自転車、ガジェット、映像制作、CG、Blender など

【C++解説】set<int> の意味と使い方を優しく解説

こんにちは、今日はstd:setの意味と使い方を解説します。

目次

 

 

setの意味と使い方

setはこのように定義することができます。

set <int> value;

その役割はズバリ、

重複した数字を1つで記録する

です。

お前説明下手すぎだろクソかよ。と思ったでしょうからもう少し詳しく解説します。

 

使用例

具体例で見ていきましょう。下のものは次の問題を解くプログラムです。

問題:N個の値を入力し、重複しない値の個数を数えよ

#include <iostream>
#include <set>
using namespace std;

int main() {
    int N;
    int a[100];
    cin >> N; //値の数の入力

    //値の入力
    for (int i = 0; i < N; ++i){
     cin >> a[i];
    }

    set<int> value; // 重複した数字を1つできろく
   
    for (int i = 0; i < N; i++) {
        value.insert(a[i]); // 値の挿入
    }

  // set のサイズは.size()でわかる
    cout << value.size() << endl;
}

まず、

set<int> value

があり、その後で

for (int i = 0; i < N; i++) {
        value.insert(a[i]); // 値の挿入
 }

があります。setで定義したものに値を入力するにはinsertを使います。

 

ここで、a[i]の中身が

a[i]=1,2,2,3,3,4

だったとすると、value.insert(a[i])をすると、重複した数字を1つで記録するため

value=1,2,3,4

となるわけです。

 

このように重複したものを1つにします。

いやあ、とても便利ですね。

というわけで今日は以上です。