standard template library
標準テンプレートライブラリ(STL)の完全な概要:
C ++の標準テンプレートライブラリ(STL)は、配列、ベクトル、キューなどのデータ構造を提供するテンプレートクラスのコレクションです。STLは、コンテナ、アルゴリズム、およびイテレータで構成されるライブラリです。
STLはテンプレートクラスのコレクションで構成されているため、データ型に依存しない一般化されたライブラリです。
=> ここで広範なC ++トレーニングチュートリアルシリーズをお読みください。
学習内容:
配列javaの最後に追加
STLのコンポーネント
STLは主に、以下に説明する次のコンポーネントで構成されています。
#1)コンテナ
コンテナは、特定のタイプのデータ構造のオブジェクトのコレクションです。 STLには、Array、vector、queue、deque、list、map、setなどのさまざまなタイプのコンテナクラスがあります。これらのコンテナは本質的に汎用であり、クラステンプレートとして実装されます。
コンテナは本質的に動的であり、さまざまなタイプのオブジェクトを保持するために使用できます。
#2)アルゴリズム
アルゴリズムは、コンテナーに作用するメソッドまたは関数です。 STLが提供するアルゴリズムを使用することで、コンテナクラスオブジェクトのコンテンツを検索、並べ替え、変更、変換、または初期化するメソッドを使用できます。
STLが提供するアルゴリズムには、アルゴリズムを自分で作成する代わりに、複雑なデータ構造を直接操作できる関数が組み込まれています。
例えば、 STLのreverse()関数を使用して、リンクリストを逆にすることができます。
#3)イテレータ
イテレータは、STLの非常に重要で際立った機能です。イテレータは、コンテナオブジェクトをトラバースするために使用される構造です。配列をステップスルーするために使用するインデックスと同様に、イテレータはコンテナクラスオブジェクトに作用し、データをステップスルーするために使用できます。
コンテナ
コンテナはオブジェクトとデータを格納します。これらは基本的にテンプレートベースのジェネリッククラスです。
STLのコンテナは、次のタイプに分類されます。
#1)シーケンシャルコンテナ
シーケンシャルまたはリニアな方法でアクセスできるコンテナは、シーケンシャルコンテナと呼ばれます。
配列、ベクトル、リスト、両端キューは、データを線形に格納し、順次アクセスできるSTLコンテナーです。
#2)連想コンテナ
連想コンテナは、ソートされたデータ構造を実装するコンテナです。これらのコンテナは高速に検索できます。いくつかの 例 連想コンテナには、Map、Set、MultiMap、Multisetなどがあります。これらのコンテナは通常、キーと値のペアの方法で実装されます。
#3)コンテナアダプター
コンテナアダプターはシーケンシャルコンテナーですが、異なるインターフェイスを提供することで実装されます。したがって、キュー、両端キュー、スタック、優先度付きキューなどのコンテナーはすべて、コンテナーアダプターとして分類されます。
イテレータ
イテレータは、STLのコンテナをトラバースまたはステップスルーするために使用する構造です。イテレータは、アルゴリズムとコンテナの間のブリッジとして機能するため、STLでは非常に重要です。イテレータは常にコンテナを指し、実際にはアルゴリズムは実際にはイテレータで動作し、コンテナを直接操作することはありません。
イテレータには次のタイプがあります。
youtubeからmp3へのコンバーター高品質の無料ダウンロード
- 入力イテレータ: 最も単純で、主にシングルパスアルゴリズムで使用されます。
- 出力イテレータ: 入力イテレータと同じですが、トラバースには使用されません。
- 双方向イテレータ: これらのイテレータは両方向に移動できます。
- フォワードイテレータ: 順方向にのみ、一度に1ステップずつ使用できます。
- ランダムアクセスイテレータ: ポインタと同じです。任意の要素にランダムにアクセスするために使用できます。
アルゴリズム
アルゴリズムは、コンテナーに作用するSTLによって提供される関数またはメソッドのセットです。これらは組み込み関数であり、独自のアルゴリズムを作成する代わりに、STLコンテナーおよびイテレーターで直接使用できます。
STLは、次のタイプのアルゴリズムをサポートしています。
- 検索アルゴリズム
- ソートアルゴリズム
- アルゴリズムの変更または操作
- 非変更アルゴリズム
- 数値アルゴリズム
- 最小/最大アルゴリズム
各アルゴリズムタイプが示すように、これらのアルゴリズムを使用して、STLコンテナーで、検索、並べ替え、コンテナー内のデータの変換、最小/最大値の検索などのさまざまな機能を実現できます。
結論
これは、標準テンプレートライブラリの簡単な紹介です。今後のチュートリアルでは、コンテナー、アルゴリズム、およびイテレーターのそれぞれについて詳しく学習します。
=> ここで完全なC ++無料トレーニングシリーズを確認してください。