C++ STL のコンテナの概要

一般的に使用されるコンテナーは次のように要約されます。

  • Vector : ランダム アクセス、末尾の挿入と削除をサポートする動的配列コンテナー。高速なランダム アクセスと、要素の追加と削除の頻度が低いシナリオに適しています。

  • list : 双方向反復子、頻繁な挿入および削除操作をサポートする二重リンク リスト コンテナーであり、挿入および削除操作が頻繁に行われるシナリオに適しています。

  • deque : ランダム アクセス、先頭から末尾までの挿入と削除をサポートする両端のキュー コンテナーで、先頭と末尾の要素の頻繁な挿入と削除が必要なシナリオに適しています。

  • stack : 最下層のdequeまたはlistで実装されたスタック コンテナーは、スタックの最上位の要素の挿入と削除のみをサポートし、後入れ先出し (LIFO) を必要とするシナリオに適しています。

  • queue : 最下層のdequeまたはlistで実装されたキュー コンテナは、キューの最後での挿入とキューの先頭での要素の削除のみをサポートし、先入れ先出し (FIFO) を必要とするシナリオに適しています。 。

  • priority_queue : 最下層のヒープで実装された優先キュー コンテナーは、ヒープの上部にある要素の迅速な検索と削除をサポートし、特定の優先度に従って要素を処理する必要があるシナリオに適しています。

  • set : 最下層の赤黒ツリーで実装されたコレクション コンテナーは、要素の挿入、削除、検索をサポートし、要素はキー値に従って自動的に並べ替えられるため、キー値に従って並べ替える必要があるシナリオに適しています。キー値であり、重複する要素を持つことはできません。

  • マップ: 最下層の赤黒ツリーによって実装されるマッピング コンテナーは、キーによる値の高速検索、挿入、削除をサポートし、要素はキー値によって自動的に並べ替えられるため、キー値によって並べ替える必要があるシナリオに適しています。重複キーを持つことはできません。

  • unowned_set : ハッシュ テーブルによって実装されたコレクション コンテナー。要素の高速な挿入、削除、検索をサポートしますが、要素の順序は保証されません。順序なしで要素の高速な検索、挿入、削除を必要とするシナリオに適しています。 。

  • unowned_map : ハッシュ テーブルによって実装されたマッピング コンテナーで、キーによる値の高速検索、挿入、削除をサポートしますが、要素の順序は保証されません。高速な検索、挿入、削除が必要なシナリオに適しています。キーと値のペアで構成されており、順序は必要ありません。

おすすめ

転載: blog.csdn.net/hu853712064/article/details/129767367