ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript プログラムは右側の値が大きいノードを削除します

JavaScript プログラムは右側の値が大きいノードを削除します

WBOY
WBOY転載
2023-09-10 13:49:021178ブラウズ

JavaScript 程序删除右侧具有更大值的节点

リンクリストの右側の値が大きいノードを削除する関数を実装します。この方法では、リンクされたリストを右から左にたどって、これまでに検出された最大値を追跡します。各ノードについて、その値と最大値を比較し、値が最大値より小さい場合はノードを削除します。このようにして、右側の最大値より大きいノードがすべて削除されます。

###方法###

右側の値が大きいノードを削除する方法は、以下の7つのステップに分けることができます。

リンクされたリストを最初から最後までたどります。
  • 現在のノード、前のノード、およびこれまでに確認された最大値を追跡します。
  • 現在のノードの値がこれまでに確認された最大値より小さい場合は、前のノードの次のポインタを更新して現在のノードを削除します。
  • 現在確認されている最大値を現在のノードの値に更新します。
  • 現在のノードを次のノードに移動します。
  • リンクされたリストの最後に到達するまで、手順 3 ~ 5 を繰り返します。
  • 更新されたリンク リストの先頭を返します。
  • ###例###

    単一リンクリストが与えられた場合、タスクは右側のより大きな値を持つノードを削除することです。アイデアは、リストを右から左に繰り返し、これまでに確認された最大値を追跡することです。リストを反復処理すると、これまでに確認された最大値よりも小さい値を持つノードが削除されます。
これは JavaScript での実装です -

リーリー

イラスト

まず、リンク リスト クラスを作成します。このクラスには、リンク リスト内の各ノードを定義する Node クラスが含まれています。

  • LinkedList クラスには、リストに新しいノードを追加する関数

    add()

    があります。
  • deleteNodes()

    この関数は、右側の値が大きいノードを削除するロジックを実装します。
  • リストを右から左にたどって、これまでに確認された最大値を追跡します。

  • 現在のノードの値が最大値より大きい場合、最大値を更新します。

  • 現在のノードの値が最大値より小さい場合、前のノードの

    next

    参照を現在のノードの次のノードを指すように更新することで、ノードを削除します。
  • 最後に、最初のノードの値が最大値より小さい場合は、最初のノードの次のノードを指すようにヘッダー参照を更新します。

  • ノードを削除した後のリンク リストには、次の値を持つノードのみが含まれます:

以上がJavaScript プログラムは右側の値が大きいノードを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。