Namun banyak buku yang tidak menjelaskannya dengan jelas, dan bahan ajar yang berbeda memiliki metode pelaksanaan yang berbeda pula.
Saya akan menuliskan ide penyortiran cepat paling sederhana di sini untuk referensi Anda.
Saya harap bahasa apa pun yang Anda gunakan, Anda dapat dengan mudah memahami ide pengurutan cepat dan metode penulisan dari kode sederhana ini.
Copy kode kodenya sebagai berikut:
fungsi quick_sort(daftar, awal, akhir) {
jika (mulai < akhir) {
var pivotpos = partisi(daftar, awal, akhir); //Temukan dasar penyortiran cepat
quick_sort(list, start, pivotpos - 1); //Urutkan cepat yang kiri
quick_sort(list, pivotpos + 1, end); //Urutkan cepat yang benar
}
}
//Menyesuaikan barisan menjadi dua luas dibagi bilangan pokok, salah satu sisinya tidak lebih kecil dari bilangan pokoknya, dan sisi lainnya tidak lebih besar dari bilangan pokoknya
partisi fungsi(daftar, awal, akhir) {
var pivotpos = mulai;
var pivot = daftar[mulai];
var tmp;
untuk(var i = mulai + 1; i <= akhir; i ++) {
if (daftar[i] < poros) {
tmp = daftar[i];
pivotpos += 1;
daftar[i] = daftar[pivotpos];
daftar[pivotpos] = tmp;
}
}
tmp = daftar[mulai];
daftar[mulai] = daftar[pivotpos];
daftar[pivotpos] = tmp;
kembalikan pivotpos;
}
var daftar = [8,2,4,65,2,4,7,1,9,0,2,34,12];
quick_sort(daftar, 0, daftar.panjang);