Rumah  >  Artikel  >  hujung hadapan web  >  Apakah maksud jenis gelembung dalam javascript

Apakah maksud jenis gelembung dalam javascript

WBOY
WBOYasal
2022-02-21 16:39:221677semak imbas

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.

Apakah maksud jenis gelembung dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.

Apakah maksud pengisihan gelembung dalam javascript?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn