ホームページ  >  記事  >  ウェブフロントエンド  >  指定された配列を非昇順に並べ替えるのに必要な回転数を計算する JavaScript プログラム

指定された配列を非昇順に並べ替えるのに必要な回転数を計算する JavaScript プログラム

WBOY
WBOY転載
2023-09-15 18:45:03673ブラウズ

JavaScript 程序计算以非递增顺序对给定数组进行排序所需的旋转次数

配列を非昇順に並べ替えるのに必要な回転数を計算するプログラムを作成します。プログラムはループを使用して配列を反復処理し、これまでに見つかった最大の要素を追跡します。より小さい要素が見つかった場合は、スピン数をインクリメントし、最大の要素を更新します。最後に、プログラムの結果として回転数が返されます。このプログラムは、配列を効率的にソートし、非増加順序を達成するために必要な回転数を決定するのに役立ちます。

###方法###

配列を非昇順に並べ替えるのに必要な回転を計算する方法は次のとおりです -

    配列を 2 つの部分 (並べ替えられた部分と並べ替えられていない部分) に分割します。
  • 必要な回転数は、ソートされたセクション内の要素の数と同じです。
  • 並べ替えられたセクションを見つけるには、配列を右から左にたどって、最大の要素を追跡します。
  • より小さい要素が見つかった場合は、ループを中断し、ソートされた部分の長さを返します。
  • ループが完了すると、配列全体がソートされるため、0 が返されます。
  • ###例###
  • これは、配列を非昇順に並べ替えるのに必要な回転数を計算する完全な JavaScript の例です -
リーリー

イラスト

Function

countRotations
    はパラメータとして配列を受け取ります。
  • n
  • は配列の長さに初期化されます。
  • minIndex
  • minValue

    は、それぞれ 0 と配列の最初の要素に初期化されます。 for ループは、2 番目の要素から配列を反復して、配列内の最小要素のインデックスと値を見つけます。より小さい要素が見つかった場合は、

    minIndex
  • minValue

    がそのインデックスと値で更新されます。 最後に、関数は

    minIndex,
  • を返します。これは、配列を非昇順に並べ替えるのに必要な回転数です。
  • この例では、配列は

    [15, 18, 2, 3, 6, 12],
  • で、最小の要素は
2 で、

はインデックス にあります。 2.配列を昇順以外で並べ替えるには、2 を配列の最後に配置する必要があるため、必要な回転数は 2 >.

以上が指定された配列を非昇順に並べ替えるのに必要な回転数を計算する JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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