Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Javascriptを使用してリンクリストに要素を追加する


リンクリストの特定の位置にデータを挿入する関数insert(data、position)を作成する必要があります。次の手順を実行します-

  • 新しいノードを作成する
  • リストが空かどうかを確認します。その後、ノードをヘッドに追加して戻ります。
  • そうでない場合は、currElemを使用して挿入する位置まで繰り返します。 currElemをcurrElem.nextと等しくすることにより、リンクリストを繰り返します。
  • 次に、ノードがリスト内の次のノードを指すようにします。これは、リストの残りの部分を追跡するためです。
  • 最後に、currElemからリストの残りの部分へのリンクを解除し、作成したノードを指すようにします。これで、ノードはリスト内の指定された位置にあります。

これが同じイラストです-

Javascriptを使用してリンクリストに要素を追加する

それでは、これをどのように実装するかを見てみましょう-

insert(data, position = this.length) {
   let node = new this.Node(data);
   if (this.head === null) {
      this.head = node;
      this.length++;
      return this.head;
   }
   let iter = 1;
   let currNode = this.head;
   while (currNode.next != null && iter < position) {
      currNode = currNode.next; iter++;
   }
   node.next = currNode.next;
   currNode.next = node;
   this.length++;
   return node;
}

最後の要素として位置を指定していることに注意してください。これは、位置を指定しない場合、デフォルトで最後に挿入されるためです。

-

を使用してこれをテストできます

let list = new LinkedList();
list.insert(10);
list.insert(20);
list.insert(30);
list.insert(15, 2);
list.display();
>

出力

これにより、出力が得られます-

10 ->
30 ->
15 ->
20 ->

ご覧のとおり、すべての要素が意図した順序になっています。 2の後の位置に15を挿入してみました。


  1. Javascriptを使用して二重リンクリストから要素を削除する

    リンクリストでは、要素の削除は非常に簡単です。削除したいノードを取り除く必要があります。つまり、その参照を失います。考慮する必要がある3つのケースがあります- headから要素を削除する:この場合、head =head.nextを割り当てるだけで、次の要素から前のリンクを削除できます。このようにして、最初の要素の参照を失います。そして、頭が2番目の要素を指し始めます。 テールから要素を削除する:この場合、最後から2番目のノードのnode.nextをnullに割り当てるだけで、リストから最後の要素を削除できます。また、現在のノードを指すようにテールを更新します。 中間から要素を削除する:これ

  2. C言語を使用したリンクリストへの要素の挿入について説明する

    リンクリストは動的メモリ割り当てを使用します。つまり、それに応じて拡大および縮小します。それらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクの2つの部分があります。データ、リンク、およびリンクリストの表現を以下に示します- リンクリストの操作 C言語のリンクリストには、次の3種類の操作があります- 挿入 削除 トラバース 挿入 ノード2とノード3の間にノード5を挿入する例を考えてみましょう。 ここで、最初にノード5を挿入します。 最後にノード5を挿入します。 最後にノード5を挿入します。 注: ノードに名前が付けられ