×
データ構造とアルゴリズム

リストの解説(基本情報技術者シラバス用語)

リストとは

リスト(連結リスト:Linked List)とは、データそのものと「次のデータがメモリ上のどこにあるかを示す情報(ポインタ)」をセットにした要素(ノード)を、鎖のようにつなぎ合わせて複数のデータを管理するデータ構造です。配列と違い、データがメモリ上でバラバラの位置にあっても問題なく、データの追加や削除をする際に周りのデータをズラす必要がないため、途中の挿入・削除が非常に素早く行える利点があります。

具体例

列車の車両連結の仕組みに似ています。車両(ノード)が連結器(ポインタ)で繋がっており、3両目と4両目の間に新しい車両を割り込ませる場合、前後の連結器の向きを掛け替えるだけで完了します。

// 連結リストのノード構造の簡易イメージ
class Node {
    constructor(data) {
        this.data = data;     // データ本体
        this.next = null;     // 次のノードへの参照ポインタ
    }
}

もう少し詳しく