vector のデータ構造は、相対的に固定されたサイズのコンテナです。標準 C++ ライブラリは vector のサイズを動的に変更するための機能を提供しますが、このような演算は負荷が大きいため、頻繁には使用されません。しかし、コレクションのサイズを事前に予測することが困難であったり、実行中に大きく変化するために、多くの問題が発生しています。代替データ構造を提案する場合のために、この章では list データ型について検証します。
list は、順序付けの必要がない線形シーケンスで要素を保持するという、直感的な概念に基づくものです。list の先頭または末尾に、新しい値を追加や削除することができます。また、反復子を使用して位置を示すことにより、list の中間への要素の追加や削除も可能です。 挿入演算や削除演算はどんな条件でも有効であり、コレクションで維持されている要素の数に関係なく、一定時間で実行することができます。
list は線形構造です。一般的に、list の要素は、添字ではなく、すべての値の線形トラバーサルによってのみアクセスすることができます。
list を使用する場合には、必ず list ヘッダーファイルをインクルードする必要があります。
# include <list>