Linked List
1154 ワード
Linked List
リンクリストはノードの集合です
各ノードは、値付きデータドメインと、次のノードの位置を含むリンクドメインで構成されます.
通常、Data Fieldはvalueという変数を使用し、link Fieldはnext変数を使用します.
valueはノードの値(12、06、71など)を格納し、次に次のノードのポインタまたは参照値を格納してノードとノードを開く方法
headとtailを指定して、最初のノードと終了ノードを指定することもできます.
ノードの追加
ノードを最初の位置または終了位置に追加するには、ノードを接続し、[スケール+head](Scale+head)または[tail](tail)をノードを追加する値に変更する必要があります.
値20を最初の位置に追加
1新規ノードの生成
let temp = new LinkedList(20)
2新しいノードの次のノードがheadを指す temp.next = head //현재 head가 가리키고 있는 Node 즉 12를 말한다
3 headの値を変更し、新しく追加したノードをheadにする head = temp
ノードを中間から追加追加するには、位置を追加する前のノードと後のノードのリンク接続も追加する必要があります.
値が20のノードを06と71の間に入れるには、06の次のノードを20、20の次のノードを71とする必要がある.
=>コードの追加
ノードの削除
他のデータ(arrayやobject)のようにデータは削除されません
完全に削除できるのは、ノードの接続を解除して削除する場合のみです.
削除するノードの前のノードのnextを削除するノードの後のノードに関連付けると、削除するノードは接続を切断し、メモリから削除されます.
=>コードの追加
Arrayリストよりも、Arrayがインデックスクエリを追加/削除するリンクリストの方が高速
Reference
この問題について(Linked List), 我々は、より多くの情報をここで見つけました https://velog.io/@louis220/Linked-Listテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol