Javascript - Thuật toán QuickSort

Viết chương trình JavaScript để sắp xếp danh sách các phần tử bằng cách sử dụng QuickSort.

Ví dụ:

Quick sort part-1

Quick sort part-2

Mã nguồn:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Sorts an array of numbers, using the quicksort algorithm.</title>
	<script>
		function quick_Sort(origArray) {
			if (origArray.length <= 1) { 
				return origArray;
			} else {

				var left = [];
				var right = [];
				var newArray = [];
				var pivot = origArray.pop();
				var length = origArray.length;

				for (var i = 0; i < length; i++) {
					if (origArray[i] <= pivot) {
						left.push(origArray[i]);
					} else {
						right.push(origArray[i]);
					}
				}

				return newArray.concat(quick_Sort(left), pivot, quick_Sort(right));
			}
		}

		var myArray = [3, 0, 2, 5, -1, 4, 1 ];

		document.write("Original array: " + myArray+"<br/>");
		var sortedArray = quick_Sort(myArray);
		document.write("Sorted array: " + sortedArray);
	</script>
</head>
<body>

</body>
</html>

Xem ví dụ

Lưu đồ thuật toán:

Flowchart: JavaScript - Sorts an array of numbers, using the quicksort algorithm.