Maison  >  Article  >  interface Web  >  Programme JavaScript pour calculer le nombre de rotations nécessaires pour trier un tableau donné dans un ordre non croissant

Programme JavaScript pour calculer le nombre de rotations nécessaires pour trier un tableau donné dans un ordre non croissant

WBOY
WBOYavant
2023-09-15 18:45:03673parcourir

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

Nous allons écrire un programme pour calculer le nombre de rotations nécessaires pour trier un tableau dans un ordre non croissant. Le programme utilisera une boucle pour parcourir le tableau et garder une trace du plus grand élément trouvé jusqu'à présent. Lorsqu'un élément plus petit est trouvé, nous incrémentons le nombre de tours et mettons à jour l'élément le plus grand. Enfin, le nombre de rotations sera renvoyé comme résultat du programme. Ce programme nous aidera à trier efficacement un tableau et à déterminer le nombre de rotations nécessaires pour obtenir un ordre non croissant.

Méthode

La façon de calculer la rotation requise pour trier un tableau dans un ordre non croissant est la suivante -

  • Divisez le tableau en deux parties : la partie triée et la partie non triée.

  • Le nombre de rotations nécessaires est égal au nombre d'éléments dans la pièce triée.

  • Pour trouver la section triée, parcourez le tableau de droite à gauche et gardez une trace du plus grand élément.

  • Lorsqu'un élément plus petit est trouvé, rompez la boucle et renvoyez la longueur de la partie triée.

  • Si la boucle se termine, l'ensemble du tableau est trié, donc 0 est renvoyé.

Exemple

Voici un exemple JavaScript complet pour calculer le nombre de rotations nécessaires pour trier un tableau dans un ordre non croissant -

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));

Instructions

    La fonction
  • countRotations prend un tableau comme paramètre.

  • n est initialisé à la longueur du tableau.

  • minIndex et minValue sont respectivement initialisés à 0 et au premier élément du tableau.

  • La boucle for parcourt le tableau à partir du deuxième élément pour trouver l'index et la valeur du plus petit élément du tableau. Si un élément plus petit est trouvé, minIndex et minValue seront mis à jour avec son index et sa valeur.

  • Enfin, la fonction renvoie minIndex, qui est le nombre de rotations nécessaires pour trier le tableau dans un ordre non croissant.

Dans cet exemple, le tableau est [15, 18, 2, 3, 6, 12],, le plus petit élément est 2, est à l'index 2.Pour trier le tableau dans un ordre non croissant, 2 est requis Placez-le à la fin du tableau, le nombre de rotations requis est donc de 2 >.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer