En JavaScript, le tri à bulles est une méthode de tri. Le principe est de comparer chaque nombre d'un tableau de l'avant vers l'arrière, et d'échanger les positions en fonction de la taille. Chaque tour de comparaison détermine un tour de comparaison en cours. tri par taille du tableau.
L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.
1. Qu'est-ce que le tri à bulles ?
Le tri à bulles, Bubble Sort, compare tour à tour la taille de deux éléments adjacents, dans chaque comparaison. sont échangés pour réaliser la commande.
Si vous souhaitez trier une séquence non ordonnée de petite à grande, comparez deux éléments et réalisez-le en échangeant. L'élément de gauche est plus petit que l'élément de droite.
Si vous souhaitez trier un ensemble de tableaux non ordonnés du plus grand au plus petit, deux éléments sont comparés et échangés. L'élément de gauche est plus grand que l'élément de droite.
Comme des bulles dans une boisson gazeuse, bouillonnant du bas vers le haut.
Le principe est de comparer chaque nombre d'un tableau d'avant en arrière, puis d'échanger les positions en fonction de la taille. Chaque tour de comparaison détermine la valeur maximale du tour de comparaison en cours, et réalise enfin le tri par taille du tableau.
2. Par exemple
Supposons qu'il y ait un ensemble de nombres 2,4,7,5,3,6,1
Premier tour :
i=0;
j(boucle intérieure) boucle 6 fois, la boucle intérieure fait le travail : comparez deux nombres adjacents, le plus grand sera éventuellement placé à l'arrière, le plus petit devant, une boucle
La boucle extérieure contrôle le nombre de fois, et l'intérieure la boucle rend le jugement
j =0 1 2 3 4 5
2 2 2 2 2 2 2 4 4 4 4 4 4 4 7 7 7 5 5 5 5 5 5 5 7 3 3 3 3 3 3 3 7 6 6 6 6 6 6 6 7 1 1 1 1 1 1 1 7 arr[0] arr[1] arr[2] arr[1] arr[2] arr[3]
Deuxième tour :
i=1;
j (boucle intérieure) boucle 5 fois
j=0 1 2 3 4 5
2 2 2 2 2 2 4 4 4 4 4 4 5 5 5 3 3 3 3 3 3 5 5 5 6 6 6 6 6 1 1 1 1 1 1 6 7 7 7 7 7 7 arr[0] arr[1] arr[2] arr[1] arr[2] arr[3]
Troisième tour :
i=2 ;
j (boucle intérieure) faites un cycle 4 fois
2 2 2 2 2 4 4 3 3 3 3 3 4 4 4 5 5 5 5 1 1 1 1 1 5 6 6 6 6 6 7 7 7 7 7
Quatrième tour :
i=3 ;
j (boucle intérieure) faites un cycle 3 fois
2 2 2 2 3 3 3 3 4 4 4 1 1 1 1 4 5 5 5 5 6 6 6 6 7 7 7 7
Cinquième tour :
i= 4;
2 2 2 3 3 1 1 1 3 4 4 4 5 5 5 6 6 6 7 7 7
Sixième tour :
i=5;
2 1 1 2 3 3 4 4 5 5 6 6 7 7
<script type="text/javascript" > // 示例1: function show(){ var arr=[2,4,7,5,3,6,1]; for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1-i;j++){ //1、比较相邻的两个数;大的在后,小的在前 if(arr[j] > arr[j+1] ){ var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } console.log(arr); } // 示例2: <body> <input type="text" id="test"> <button type="button" onclick="show()">按我</button> <input type="text" id="sc"> </body> function show() { let oT=document.getElementById("test").value; let sc=document.getElementById("sc"); // console.log(sc); // console.log(oT); let arr=oT.split(""); console.log(arr.length); for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - 1 - i; j++) { //1、比较相邻的两个数;大的在后,小的在前 if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } // console.log(arr); sc.value=arr; } </script>
Recommandations associées : Tutoriel d'apprentissage javascript
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!