## 6.1 list データの抽象化

vector のデータ構造は、相対的に固定されたサイズのコンテナです。標準 C++ ライブラリは vector のサイズを動的に変更するための機能を提供しますが、このような演算は負荷が大きいため、頻繁には使用されません。しかし、コレクションのサイズを事前に予測することが困難であったり、実行中に大きく変化するために、多くの問題が発生しています。代替データ構造を提案する場合のために、この章では list データ型について検証します。

list は、順序付けの必要がない線形シーケンスで要素を保持するという、直感的な概念に基づくものです。list の先頭または末尾に、新しい値を追加や削除することができます。また、反復子を使用して位置を示すことにより、list の中間への要素の追加や削除も可能です。 挿入演算や削除演算はどんな条件でも有効であり、コレクションで維持されている要素の数に関係なく、一定時間で実行することができます。

list は線形構造です。一般的に、list の要素は、添字ではなく、すべての値の線形トラバーサルによってのみアクセスすることができます。

### 6.1.1 インクルードファイル

list を使用する場合には、必ず `list` ヘッダーファイルをインクルードする必要があります。

    # include <list>

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。
OEM リリース, 1998 年 6 月