\r\n\r\n
シングルリンク・テーブルとダブルリンク・テーブルの比較
リンクテーブルは、データの集合を保存するために使用される線形データ構造である。リンクテーブルは、各要素に個別のメモリブロックを割り当て、それらを鎖のようにつなぐことで全体構造を得る。1つのリンクリストはノードの列からなり、各ノードはその列の次のノードへの参照を持っています。二重リンクリストは、ノードの列を含み、各ノードが次と前のノードへの参照を含む。
単一リンクのテーブル
一本鎖リンク表の各要素は、図1に示すように、2つのフィールドを持つ。dataフィールドは実際に格納されているデータを保持し、nextフィールドはチェーンの次の要素への参照を保持する。リンクリストの先頭要素のヘッダは,リンクテーブルの先頭要素として格納される。
図2は、3つの要素を含む1つのリンクされたテーブルを描いている。各要素にはそのデータが格納され、最後の要素を除くすべての要素には次の要素への参照が格納されます。最後の要素に次のフィールドのNULL値が含まれている。リストのどの要素にもアクセスするには、先頭から始めて必要な要素が満たされるまで次のポインタを追いかけます。
二重リンクのテーブル
ダブルリンクリストの各要素は、図3に示すように、3つのフィールドを持つ。次のデータチェインには、次の個別のものにリンクされたフィールドのデータが保持され、次のデータチェインには、実際のデータチェインと同様のデータが保持されます。また、previous フィールドは、チェーンの前の要素への参照を保持する。リンクリストの最初の要素のヘッダがチェーンテーブルの最初の要素として格納される。
図4は、3つの要素を含む2重リンクリストを描いたものである。すべての中間要素は、最初と前の要素への参照を保存する。リストの最後の要素はその次のフィールドにNULL値を保持し、リストの最初の要素はその前のフィールドにNULL値を保持します。二重リンクリストは、各要素の次の参照を辿って前方に移動することができ、同様に各要素の前の参照を辿って後方に移動することができます。
シングルリンクのテーブルとダブルリンクのテーブルの違いは何ですか?