読み方 : れんけつリスト

連結リスト 【linked list】 リンクリスト

概要

連結リスト(linked list)とは、基本的なデータ構造の一つで、複数のデータを格納することができ、各データが一つ前あるいは後(もしくはその両方)のデータへの参照情報(リンク、ポインタ)を持っている構造のこと。

解説 同種の要素を複数格納できる「コンテナ」(container)あるいは「コレクション」(collection)と呼ばれるデータ構造の一種である。各要素はデータ自体の他に自分の隣の要素を指し示す所在情報(リンク)を持っている。これをたどることで、各要素に順番にアクセスすることができる。

前あるいは後ろの要素は一つだけ持つことができ、途中で枝分かれはしない。先頭から末尾まで数珠繋ぎに要素を連結したものを「線形リスト」(linear linked list)、すべての要素が円環状に連結されていて先頭や末尾が存在しないものを「循環リスト」(circular linked list)という。

各要素が自分の次(後ろ)の要素へのリンクのみを持っているようなものを「単方向リスト」(singly linked list)あるいは「片方向リスト」と呼び、前から後ろへ一方向にしかたどることができない。一方、自分の一つ前と一つ後の両方へのリンクを持っているようなものを「双方向リスト」(doubly linked list)と呼び、前後に自由にたどることができる。

LISPなど関数型言語の多くは言語仕様として最初から用意されている組み込みデータ型の一つに連結リストが含まれている。手続き型言語ではデータ型としては用意されていないことが多いが、オブジェクト指向のクラスの仕組みを用いて実装し、標準クラスライブラリとして提供している言語もある(Javaや.NET言語など)。

(2023.2.17更新)

他の用語辞典による「連結リスト」の解説 (外部サイト)

資格試験などの「連結リスト」の出題履歴

▼ 基本情報技術者試験
令7修7 問5】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
令7修1 問5】 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。
令5修12 問5】 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。
令5公 問2】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
令4修7 問8】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
令4修1 問7】 リストを二つの1次元配列で実現する。配列要素 box[i] と next[i] の対がリストの一つの要素に対応し,box[i] に要素の値が入り,next[i] に次の要素の番号が入る。
令1修12 問8】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
令1修7 問6】 リストを二つの1次元配列で実現する。配列要素 box[i] と next[i] の対がリストの一つの要素に対応し,box[i] に要素の値が入り,next[i] に次の要素の番号が入る。
平31修1 問5】 データ構造の一つであるリストは,配列を用いて実現する場合と,ポインタを用いて実現する場合とがある。配列を用いて実現する場合の特徴はどれか。
平30春 問6】 リストを二つの1次元配列で実現する。配列要素 box[i] と next[i] の対がリストの一つの要素に対応し,box[i] に要素の値が入り,next[i] に次の要素の番号が入る。
平29春 問4】 データ構造の一つであるリストは,配列を用いて実現する場合と,ポインタを用いて実現する場合とがある。配列を用いて実現する場合の特徴はどれか。
平28修7 問6】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
平28修1 問5】 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。
平27修1 問5】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
平25修12 問5】 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。
平25秋 問6】 リストは,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれか。
平24修12 問5】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
平23修1 問6】 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。
平22春 問5】 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
平21春 問6】 配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。