ホームページ >よくある問題 >単一リンクリストと複数リンクリストの違い

単一リンクリストと複数リンクリストの違い

angryTom
angryTomオリジナル
2019-10-22 15:15:548478ブラウズ

単一リンクリストと複数リンクリストの違い

単一リンクリストとは何ですか?

単一リンク リストは、任意のアドレスを持つ一連のストレージ ユニットを使用して線形リストにデータ要素を格納する、連鎖アクセス データ構造です。リンクリストのデータはノードで表現され、各ノードは、 要素(データ要素のイメージ) ポインタ(後続の要素の格納場所を示す) で構成されます 要素はデータを格納する記憶単位、ポインタは各ノードを接続するためのポイントアドレスデータです。

利点: 一方向リンク リスト内のノードの追加と削除は簡単です。トラバース時に無限ループが発生することはありません。 (両方向に無限ループは発生しません。循環リンク リストが制御を忘れると、簡単に無限ループに陥ります); 欠点: 最初から最後までしかたどることができません。先人ではなく後継者を見つけることしかできない、つまり前に進むことしかできないのです。

マルチリンクリストとは何ですか?

複数のリンク リストとは、リンク リスト内のノードが複数のリンク リストに属する可能性があることを意味します。最も一般的なのは相互リンク リストです。各ノードには、複数のリンク リストに対応する複数のポインタ フィールドがありますが、逆に、複数のポインタ フィールドを持つノードを持つリンク リストがマルチリンク リストであると言うのは不正確です。循環リンク リストのノードには先行と後続の 2 つのポインタ フィールドがありますが、マルチリンクではないからです。リスト。

利点 : 先行者と後続者を見つけて、前進および後退することができます; 欠点: ノードの削除が複雑になります。

単一リンク リストと複数リンク リストの違い:

1. 単一リンク リストには、要素のノード構造内に後続ノード ポインターを 1 つだけ含めることができます。また、複数のポインタを含めることはできません。二重リンクリストには、先行ポインタと後続ポインタの 2 つのポインタが含まれます。

2. 単一リンク リストでは、逆方向にしか実行できないため、最初のノードのポインタが構築後に返される (またはヘッド ノードのポインタがヘッド ノードに使用される) 必要があります。二重リンクリストは構築後に構築できます。ポインタは両方向に進むことができるため、任意のノードにポインタを与えます。ポインタがどのノードであるかを知ることはあまり重要ではありません。原則として、最初のノードが優先されます。

以上が単一リンクリストと複数リンクリストの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。