標準ライブラリは、各コンテナのために多くの機能を追加する必要はありませんが、標準アルゴリズムのセットを提供するために、これらのアルゴリズムは、任意の特定のコンテナのほとんど独立しています。これらのアルゴリズムは、一般的な(ジェネリックまたはジェネリックと呼ばれる)は次のとおりです。彼らは、容器と要素の異なる種類の異なる種類のために使用することができます。
汎用アルゴリズム(一般アルゴリズム)と呼ばれるアルゴリズムを、それらが共通のインターフェースを、ソートや検索などのいくつかの古典的なアルゴリズムを実現するため、;それらは呼ばれるジェネリック、それらは要素より、異なるタイプのために使用することができるのでコンテナ型。
第五に、汎用アルゴリズム構造
アルゴリズムは、反復操作は5つのカテゴリーのイテレータ(反復子のカテゴリ)に分けることができる必要があり、各パラメータアルゴリズムの各反復は、イテレータのその指定されたどのような種類を提供する必要があります。
- 入力イテレータ(入力イテレータ):読み取り専用、書き込みない、シングルパス走査だけインクリメント。
- 出力イテレータ(出力イテレータを):ちょうど書き、読んでいない、シングルパススキャン、だけインクリメント。
- イテレータフォワード(前方反復子):読み取りと書き込み、何度もスキャンだけインクリメントすることができます。
- イテレータ双方向(双方向イテレータ):読み取りと書き込み、スキャンのために何回も、徐々に増加及び減少することができます。
- アクセスイテレータランダム(ランダムアクセスイテレータ):読み取りおよび書き込み、マルチパススキャン、すべてのイテレータの操作をサポートすることができます。