Bandingkan elemen bersebelahan. Jika yang pertama lebih besar daripada yang kedua, tukar kedua-duanya.
Lakukan perkara yang sama untuk setiap pasangan elemen bersebelahan, bermula dengan pasangan pertama dan berakhir dengan pasangan terakhir. Pada ketika ini, elemen terakhir hendaklah nombor terbesar.
Ulangi langkah di atas untuk semua elemen kecuali yang terakhir.
Teruskan mengulangi langkah di atas untuk semakin sedikit elemen setiap kali sehingga tiada pasangan nombor yang tinggal untuk dibandingkan.
function sort(elements){ for(var i=0;i<elements.length-1;i++){ for(var j=0;j<elements.length-i-1;j++){ if(elements[j]>elements[j+1]){ var swap=elements[j]; elements[j]=elements[j+1]; elements[j+1]=swap; } } } } var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8]; console.log('before: ' + elements); sort(elements); console.log(' after: ' + elements);
Kecekapan:
Kerumitan masa: Terbaik: O(n), Terburuk: O(n^2), Purata: O(n^2).
Kerumitan ruang: O(1).
Kestabilan: Stabil.