อย่างไรก็ตาม หนังสือหลายเล่มไม่ได้อธิบายอย่างชัดเจนมากนัก และสื่อการสอนที่แตกต่างกันก็มีวิธีการนำไปใช้ที่แตกต่างกัน
ฉันจะจดแนวคิดการเรียงลำดับอย่างรวดเร็วที่ง่ายที่สุดไว้ที่นี่เพื่อใช้อ้างอิง
ฉันหวังว่าไม่ว่าคุณจะใช้ภาษาอะไร คุณสามารถเข้าใจแนวคิดการเรียงลำดับและวิธีการเขียนอย่างรวดเร็วจากโค้ดง่ายๆ นี้ได้อย่างง่ายดาย
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น Quick_sort (รายการ เริ่มต้น สิ้นสุด) {
ถ้า (เริ่มต้น <สิ้นสุด) {
var pivotpos = partition(list, start, end); // ค้นหาฐานของการเรียงลำดับอย่างรวดเร็ว
Quick_sort(list, start, pivotpos - 1); // เรียงลำดับทางซ้ายอย่างรวดเร็ว
Quick_sort(list, pivotpos + 1, end); // เรียงลำดับสิ่งที่ถูกต้องอย่างรวดเร็ว
-
-
//ปรับลำดับเป็นสองด้านหารด้วยเลขฐาน ด้านหนึ่งไม่น้อยกว่าเลขฐาน และอีกด้านไม่มากกว่าเลขฐาน
พาร์ติชันฟังก์ชัน (รายการ เริ่มต้น สิ้นสุด) {
var pivotpos = เริ่มต้น;
var pivot = รายการ [เริ่มต้น];
var tmp;
สำหรับ (var i = start + 1; i <= end; i ++) {
ถ้า (รายการ [i] <สาระสำคัญ) {
tmp = รายการ [i];
จุดหมุน += 1;
รายการ [i] = รายการ [pivotpos];
รายการ [pivotpos] = tmp;
-
-
tmp = รายการ [เริ่มต้น];
รายการ [เริ่มต้น] = รายการ [pivotpos];
รายการ [pivotpos] = tmp;
กลับจุดหมุน;
-
รายการ var = [8,2,4,65,2,4,7,1,9,0,2,34,12];
Quick_sort(รายการ, 0, รายการ.ความยาว);