はじめに
この実験では、C++ で std::unordered_set
を実装して使用する方法を学びます。セットは、リストの一意の値を格納して自動的にソートします。順序付きセットと同じように、要素をソートせずにランダムな順序で格納します。また、重複する要素は自動的に削除されます。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、C++ で std::unordered_set
を実装して使用する方法を学びます。セットは、リストの一意の値を格納して自動的にソートします。順序付きセットと同じように、要素をソートせずにランダムな順序で格納します。また、重複する要素は自動的に削除されます。
まず、コードを格納するためのプロジェクトフォルダを作成します。ターミナルを開き、cd
コマンドを使用してそのフォルダに移動します。
cd ~/project
touch main.cpp
好きなテキストエディタを使用して、main.cpp
という名前の新しいファイルを作成します。
このステップでは、C++ で std::unordered_set
の動作を示すプログラムを作成します。このプログラムでは、空の std::unordered_set
を宣言し、いくつかの要素で埋め、1つの要素を削除し、その後セットの要素を表示します。
まず、必要なライブラリをインクルードし、イテレータを使用して順序付きセットの要素を表示する show
関数を作成します。
#include <iostream>
#include <unordered_set>
void show(std::unordered_set<int> s)
{
std::unordered_set<int>::iterator it;
for (it = s.begin(); it!= s.end(); ++it)
{
std::cout << *it << " ";
}
}
このステップでは、insert
メソッドを使用して std::unordered_set
に6つの整数を格納します。
int main()
{
std::unordered_set<int> s;
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
std::cout << "The elements of the unordered set are: \n";
show(s);
return 0;
}
このステップでは、erase
メソッドを使用して順序付きセットから要素を削除します。その後、更新されたセットを表示します。
int main()
{
std::unordered_set<int> s;
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
std::cout << "The elements of the unordered set are: \n";
show(s);
s.erase(39);
std::cout << "\nAfter deleting the element 39 from the unordered set using the erase() method, it becomes: \n";
show(s);
return 0;
}
コードをコンパイルして実行するには、ターミナルで次のコマンドを使用します。
g++ main.cpp -o main && ./main
出力は次のようになります。
The elements of the unordered set are:
54 35 5 64 39 82
After deleting the element 39 from the unordered set using the erase() method, it becomes:
54 35 5 64 82
main.cpp
コード以下は main.cpp
の完全なコードです。
#include <iostream>
#include <unordered_set>
void show(std::unordered_set<int> s)
{
std::unordered_set<int>::iterator it;
for (it = s.begin(); it!= s.end(); ++it)
{
std::cout << *it << " ";
}
}
int main()
{
std::unordered_set<int> s;
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
std::cout << "The elements of the unordered set are: \n";
show(s);
s.erase(39);
std::cout << "\nAfter deleting the element 39 from the unordered set using the erase() method, it becomes: \n";
show(s);
return 0;
}
この実験では、C++ で std::unordered_set
を実装して使用する方法を学びました。std::unordered_set
は、一意の値を格納するために使用され、重複する値は自動的に削除されます。std::set
とは異なり、要素をソートせず、ランダムな順序で格納します。