เรียงลำดับอย่างรวดเร็ว
การเรียงลำดับด่วนเป็นหนึ่งในวิธีการเรียงลำดับที่สำคัญที่สุดในจาวาสคริปต์ ใช้ค่าเดือย (ค่าสุ่ม) จากอาร์เรย์ องค์ประกอบอื่นๆ ทั้งหมดในอาร์เรย์แบ่งออกเป็น 2 หมวดหมู่ โดยอาจน้อยกว่าค่า pivot และมากกว่าค่า pivot
หลังจากนั้นแต่ละหมวดหมู่ (น้อยกว่าเดือยและมากกว่าเดือย) อยู่ภายใต้ขั้นตอนเดียวกันกับการเลือกเดือย จากนั้นแต่ละหมวดหมู่จะแบ่งออกเป็นหมวดหมู่ย่อย (น้อยกว่าเดือยและมากกว่าเดือย) .
ในที่สุด หมวดหมู่ย่อยจะถูกแบ่งออกในลักษณะที่อาจมีองค์ประกอบหรือไม่มีองค์ประกอบหากไม่มีองค์ประกอบอื่นที่จะเปรียบเทียบ ค่าที่เหลือจะแสดงเป็น pivot ที่จุดก่อนหน้าบางจุด และไม่ลดลงจนถึงหมวดหมู่ย่อยที่ต่ำที่สุดนี้
ตัวอย่าง
<html> <body> <script> function quickSort(originalArr) { if (originalArr.length <= 1) { return originalArr; } else { var leftArr = []; var rightArr = []; var newArr = []; var pivot = originalArr.pop(); // Take a pivot value var length = originalArr.length; for (var i = 0; i < length; i++) { if (originalArr[i] <= pivot) { // using pivot value start comparing leftArr.push(originalArr[i]); } else { rightArr.push(originalArr[i]); } } return newArr.concat(quickSort(leftArr), pivot, quickSort(rightArr)); // array will be //returned untill sorting occurs } } var myArray = [9, 0, 2, 7, -2, 6, 1 ]; document.write("Original array: " + myArray); var sortedArray = quickSort(myArray); document.write("Sorted array: " + sortedArray); </script> </body> </html>
ผลลัพธ์
Original array: 9,0,2,7,-2,6,1 Sorted array: -2,0,1,2,6,7,9