ホームページ  >  記事  >  バックエンド開発  >  STL アルゴリズムを使用して C++ STL コンテナーを操作するにはどうすればよいですか?

STL アルゴリズムを使用して C++ STL コンテナーを操作するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-03 11:30:04359ブラウズ

C++ STL コンテナを操作するための STL アルゴリズム プロセス: 適切なアルゴリズムを選択: 最大値の検索、要素のコピー、並べ替えなど、必要な操作に基づいて STL アルゴリズムを選択します。入力および出力の反復子の決定: 入力コンテナーと出力コンテナーの反復子の範囲を指定します。バイナリ関数オブジェクトを提供します。必要な要素ごとの操作を実行するファンクターを定義します。アルゴリズムの呼び出し: アルゴリズム() 関数を使用して、選択したアルゴリズムを呼び出し、反復子の範囲とファンクターを渡します。

如何使用STL算法对C++ STL容器进行操作?

STL アルゴリズムを使用して C++ STL コンテナを操作する方法

標準テンプレート ライブラリ (STL) は、シーケンス コンテナ (vector リストマップ)。これらのアルゴリズムは、一般的なデータ処理タスクを実行するための効率的で再利用可能なメカニズムを提供するように設計されています。 vectorlistmap)。这些算法的设计目的是提供一种高效且可重复使用的机制来执行常见的数据处理任务。

基本语法

STL算法遵循以下语法:

template<typename InputIterator, typename OutputIterator, typename Function>
OutputIterator algorithm(InputIterator first, InputIterator last, OutputIterator result, Function op);

其中:

  • InputIteratorOutputIterator指定了输入和输出容器的迭代器类型。
  • firstlast是输入容器的迭代器范围。
  • result是输出容器的迭代器。
  • op
  • 基本構文

STL アルゴリズムは次の構文に従います:

#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

int main() {
  vector<int> numbers = {1, 3, 5, 7, 9};

  auto max_value = *max_element(numbers.begin(), numbers.end());

  cout << "最大值:" << max_value << endl;

  return 0;
}

输出:

ここで:

  • InputIteratorOutputIterator は入力の反復子を指定し、出力コンテナのタイプ。

  • firstlast は、入力コンテナのイテレータ範囲です。
  • result は出力コンテナのイテレータです。

  • op は、入力要素に対して演算を実行するために使用されるバイナリ関数オブジェクト (ファンクター) です。

    実際のケース

    1. 最大値を見つける

    **2. 复制元素**
    

    最大値: 9

    cout << num << " ";

    include

    include

    include

    名前空間 std を使用します。

    int main() {

    Vectorbd43222e33876353aff11e13a7dc75f6numbers = {1, 3, 5, 7, 9};

    Vectorbd43222e33876353aff11e13a7dc75f6 copy;

    copy.reserve(numbers.size());効率を上げるには


    copy_n(numbers.begin(),numbers.size(),back_inserter(copy));

    for(int num : copy) {

    1 3 5 7 9

    }cout <<

    return 0;

    }🎜🎜出力: 🎜
    #include 
    #include 
    #include 
    
    using namespace std;
    
    int main() {
      vector numbers = {5, 1, 3, 7, 2};
    
      sort(numbers.begin(), numbers.end());
    
      for (int num : numbers) {
        cout << num << " ";
      }
    
      cout << endl;
    
      return 0;
    }
    
    输出:
    🎜🎜3. 並べ替え🎜🎜rrreee🎜1 2 3 5 7🎜
  • 以上がSTL アルゴリズムを使用して C++ STL コンテナーを操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。