C++ STL セットの find メソッド

C++C++Beginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、C++ プログラミングにおける STL Set の find() メソッドについて学びます。Set は、一意の値のリストを格納するために使用され、要素に自動的に順序付けを提供します。既定では、順序付けは昇順です。find() メソッドは、セットコンテナ内で検索される要素へのイテレータを返します。要素が見つからない場合、イテレータはセット内の最後の要素の直後の位置を指します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/AdvancedConceptsGroup -.-> cpp/pointers("Pointers") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/data_types -.-> lab-96236{{"C++ STL セットの find メソッド"}} cpp/operators -.-> lab-96236{{"C++ STL セットの find メソッド"}} cpp/for_loop -.-> lab-96236{{"C++ STL セットの find メソッド"}} cpp/pointers -.-> lab-96236{{"C++ STL セットの find メソッド"}} cpp/output -.-> lab-96236{{"C++ STL セットの find メソッド"}} cpp/standard_containers -.-> lab-96236{{"C++ STL セットの find メソッド"}} cpp/code_formatting -.-> lab-96236{{"C++ STL セットの find メソッド"}} end

必要なヘッダーをインクルードする

最初のステップでは、必要なヘッダー iostreamset をインクルードします。

#include <iostream>
#include <set>

標準名前空間を使用する

2 番目のステップでは、標準名前空間を使用します。

using namespace std;

セットを宣言する

3 番目のステップでは、整数を格納するためのセットを宣言します。

set<int> s;

セットに要素を挿入する

4 番目のステップでは、セットに整数要素を挿入します。

s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);

セットの要素を表示する

5 番目のステップでは、イテレータを使ってセットの要素を表示します。

for (auto it = s.begin(); it!= s.end(); ++it) {
        cout << " " << *it;
}

セット内の要素を検索する

6 番目のステップでは、find() メソッドを使ってセット内の要素を検索します。

auto it = s.find(39);

与えられた要素より大きい要素を表示する

7 番目のステップでは、find() メソッドを使ってセット内で見つけた要素以上のセットの要素を表示します。

for (; it!= s.end(); ++it) {
        cout << " " << *it;
}

セットから要素を削除する

8 番目のステップでは、erase() メソッドを使ってセットから要素を削除します。

s.erase(39);

完全なコード

#include <iostream>
#include <set>

using namespace std;

int main() {
    // セットを宣言する
    set<int> s;

    // セットに要素を挿入する
    s.insert(5);
    s.insert(39);
    s.insert(64);
    s.insert(82);
    s.insert(35);
    s.insert(54);

    // セットの要素を表示する
    for (auto it = s.begin(); it!= s.end(); ++it) {
        cout << " " << *it;
    }

    // セット内の要素を検索する
    auto it = s.find(39);

    // 与えられた要素より大きい要素を表示する
    for (; it!= s.end(); ++it) {
        cout << " " << *it;
    }

    // セットから要素を削除する
    s.erase(39);

    return 0;
}

まとめ

この実験では、C++ プログラミングにおける STL セットの find() メソッドの使い方を学びました。また、セットを宣言する方法、セットに要素を挿入する方法、セットの要素を表示する方法、セットから要素を削除する方法、および find() メソッドを使ってセット内の要素を検索する方法についても学びました。

また、セットの要素の固有の特性と自動的な並べ替えについても学びました。この find() とセットの基本的な知識を使って、C++ でセットを使ったより複雑な操作を行うことができます。