Dalam JavaScript, isihan gelembung ialah kaedah pengisihan Prinsipnya adalah untuk membandingkan setiap nombor dalam tatasusunan dari hadapan ke belakang, dan bertukar kedudukan mengikut saiz Setiap pusingan perbandingan menentukan Apabila membandingkan nilai maksimum dalam pusingan, saiz tatasusunan akhirnya diisih.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.
1 Apakah itu pengisihan gelembung
Isih gelembung, perbandingan Bubble. saiz dua elemen bersebelahan dalam urutan Semasa setiap perbandingan, kedua-dua elemen ditukar untuk mencapai susunan.
Jika anda ingin mengisih urutan tidak tertib dari kecil ke besar, maka dua elemen dibandingkan dan ditukar Elemen di sebelah kiri adalah lebih kecil daripada elemen di sebelah kanan.
Jika anda ingin mengisih set tatasusunan tidak tertib daripada besar ke kecil, maka dua elemen dibandingkan dan dilaksanakan melalui pertukaran Elemen di sebelah kiri adalah lebih besar daripada elemen di sebelah kanan.
Seperti buih dalam minuman berkarbonat, menggelegak dari bawah ke atas.
Prinsipnya adalah untuk membandingkan setiap nombor dalam tatasusunan dari hadapan ke belakang, dan kemudian menukar kedudukan mengikut saiz Setiap pusingan perbandingan menentukan nilai maksimum pusingan perbandingan semasa, dan akhirnya menyedari tatasusunan disusun mengikut saiz.
2. Contohnya
Andaikan terdapat set nombor 2,4,7,5,3,6,1
Pusingan pertama:
i=0;
j (gelung dalam) gelung 6 kali Gelung dalam melakukan kerja: bandingkan dua nombor bersebelahan, dan yang lebih besar berakhir Ia akan diletakkan di belakang, dengan yang kecil di hadapan, satu gelung
Gelung luar mengawal bilangan kali, dan gelung dalam membuat pertimbangan
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]
Pusingan kedua:
i=1;
j (gelung dalam) 5 kali
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]
Pusingan ketiga:
i=2;
gelung j (gelung dalam) 4 kali
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
Pusingan keempat :
i=3;
j (gelung dalam) 3 kali
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
Pusingan kelima:
i=4;
2 2 2 3 3 1 1 1 3 4 4 4 5 5 5 6 6 6 7 7 7
Pusingan keenam:
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>
Cadangan berkaitan: Tutorial pembelajaran javascript
Atas ialah kandungan terperinci Apakah maksud jenis gelembung dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!