Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Programm zur Berechnung der Anzahl der Umdrehungen, die erforderlich sind, um ein bestimmtes Array in nicht aufsteigender Reihenfolge zu sortieren

JavaScript-Programm zur Berechnung der Anzahl der Umdrehungen, die erforderlich sind, um ein bestimmtes Array in nicht aufsteigender Reihenfolge zu sortieren

WBOY
WBOYnach vorne
2023-09-15 18:45:03733Durchsuche

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

Wir werden ein Programm schreiben, um die Anzahl der Umdrehungen zu berechnen, die erforderlich sind, um ein Array in nicht aufsteigender Reihenfolge zu sortieren. Das Programm verwendet eine Schleife, um das Array zu durchlaufen und das bisher größte gefundene Element zu verfolgen. Wenn ein kleineres Element gefunden wird, erhöhen wir die Spin-Anzahl und aktualisieren das größte Element. Schließlich wird die Rotationsanzahl als Ergebnis des Programms zurückgegeben. Dieses Programm hilft uns, ein Array effizient zu sortieren und die Anzahl der Umdrehungen zu bestimmen, die erforderlich sind, um eine nicht zunehmende Ordnung zu erreichen.

Methode

So berechnen Sie die Drehung, die zum Sortieren eines Arrays in nicht aufsteigender Reihenfolge erforderlich ist: -

  • Teilen Sie das Array in zwei Teile auf: einen sortierten Teil und einen unsortierten Teil.

  • Die Anzahl der erforderlichen Umdrehungen entspricht der Anzahl der Elemente im sortierten Teil.

  • Um den sortierten Abschnitt zu finden, durchqueren Sie das Array von rechts nach links und behalten Sie das größte Element im Auge.

  • Wenn ein kleineres Element gefunden wird, unterbrechen Sie die Schleife und geben Sie die Länge des sortierten Teils zurück.

  • Wenn die Schleife abgeschlossen ist, wird das gesamte Array sortiert, sodass 0 zurückgegeben wird.

Beispiel

Hier ist ein vollständiges JavaScript-Beispiel zur Berechnung der Anzahl der Drehungen, die erforderlich sind, um ein Array in nicht aufsteigender Reihenfolge zu sortieren -

function countRotations(arr) {
   let n = arr.length;
   let minIndex = 0;
   let minValue = arr[0];
   
   // Find the minimum element
   for (let i = 1; i < n; i++) {
      if (arr[i] < minValue) {
         minIndex = i;
         minValue = arr[i];
      }
   }
   // Return the number of rotations
   return minIndex;
}
let arr = [15, 18, 2, 3, 6, 12];
console.log("The number of rotations required to sort the array in non-increasing order is:", countRotations(arr));

Anleitung

    Die
  • -Funktion countRotations benötigt ein Array als Parameter.

  • n wird auf die Länge des Arrays initialisiert.

  • minIndex und minValue werden auf 0 bzw. das erste Element des Arrays initialisiert.

  • Die for-Schleife durchläuft das Array beginnend mit dem zweiten Element, um den Index und den Wert des kleinsten Elements im Array zu finden. Wenn ein kleineres Element gefunden wird, werden minIndex und minValue mit seinem Index und Wert aktualisiert.

  • Schließlich gibt die Funktion minIndex, zurück, was die Anzahl der Umdrehungen ist, die erforderlich sind, um das Array in nicht aufsteigender Reihenfolge zu sortieren.

In diesem Beispiel ist das Array [15, 18, 2, 3, 6, 12],, das kleinste Element ist 2, befindet sich am Index 2.Um das Array in nicht aufsteigender Reihenfolge zu sortieren, 2 ist erforderlich. Platzieren Sie es am Ende des Arrays, sodass die Anzahl der erforderlichen Umdrehungen 2 >.

beträgt

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zur Berechnung der Anzahl der Umdrehungen, die erforderlich sind, um ein bestimmtes Array in nicht aufsteigender Reihenfolge zu sortieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen