連結リスト連結リストリストの各要素が次および前の要素へのリンク(参照)を持つデータ構造を連結リストといいます。要素へのリンクがひとつ(次)だけなら単方向リストと呼ばれ、リンクを2つ(次と前)もつ連結リストは双方向リストと呼ばれます。終端の要素のリンクが先頭の要素へのリンクなら循環リストになります。連結リストの特徴は要素を参照するのにリンクを順にたどっていくシーケンシャルアクセスしかできないことです。配列はインデックスを指定するランダムアクセスが可能です。連結リストは要素がリンクを持たねばならずその分メモリを消費することになります。不便に思える連結リストがなぜ使われるのでしょう?それは要素の挿入や削除が簡単に行えるからです。要素を挿入する場合、単純なリスト(配列)は挿入位置より後ろの要素をすべてずらさなければなりません。これに対し連結リストは挿入位置のリンクを書き換えるだけで済みます。list連結リストの中で一番シンプルなのが単方向リストです。各要素はひとつのリンクを持ちます。リンクはリスト中の次の要素を指します。用いて終端をあらわします。list単方向リストの終端の要素に先頭のリンクを持たせたのが循環リストです。終端が来ても先頭に戻れるので環状に並んだデータ構造になります。list双方向リストは各要素が前後の要素を示すリンクを持つデータ構造です。先頭と終端のリンクも用意すれば循環リストになります。codereading.com。