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

WBOY
リリース: 2024-06-03 11:30:04
オリジナル
331 人が閲覧しました

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() {

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

    Vector 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!