C++

setクラス

更新日:

setクラスとは

標準テンプレートライブラリのコンテナの一つ、setクラスについて解説します。 mapクラスではキー値とデータを一組としてオブジェクトに格納しました。

mapクラス

しかし、setクラスではデータは無く、キー値だけを格納します。 これの何が便利なのでしょうか。 mapクラスではデータを挿入するとき、最後尾に挿入されるのではなく自動的にソートされて並ぶようになっていましたね。 setでも同様にソートされます。 つまり、setクラスは「自動的にソートされる配列」と呼ぶことができますね。

setクラスの使い方

setクラスを使うには<set>をインクルードする必要があります。
#include <set>
オブジェクトの生成の際は、何のオブジェクトを格納するか指定する必要があります。 vectorクラスと一緒ですね。

set<【オブジェクトの型】> 【コンテナ名】

実例は

set<char> s;

となります。 キー値の挿入にはinsert()を使います。

s.insert('a');

また、既に格納されているキー値と同じデータは追加することができません。

サンプルコード

set_sample.cpp

#include <iostream>
#include <set>
#include <string>

using namespace std;

int main(void)
{
	set setString;
	set::iterator is;

	setString.insert("山田太郎");
	setString.insert("田中太郎");
	setString.insert("鈴木太郎");
	setString.insert("佐藤太郎");
	setString.insert("山本太郎");
	
	for(is = setString.begin(); is != setString.end(); is++)
		cout << *is << endl;

	return 0;
}

-C++

Copyright© C言語/C++入門講座  ツナサーモン , 2019 All Rights Reserved Powered by AFFINGER5.