Maison > interface Web > Questions et réponses frontales > Que signifie le tri à bulles en javascript

Que signifie le tri à bulles en javascript

WBOY
Libérer: 2022-02-21 16:39:22
original
1738 Les gens l'ont consulté

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.

Que signifie le tri à bulles en javascript

L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.

Que signifie le tri à bulles en javascript ?

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]
Copier après la connexion

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]
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Sixième tour :

i=5;

2 1
1 2
3 3
4 4
5 5
6 6
7 7
Copier après la connexion
<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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal