1 Star 0 Fork 0

王吉 / Quick_Sort

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
new_sort.js 1.08 KB
一键复制 编辑 原始数据 按行查看 历史
function quick(arr, start, end) {
start = (start === undefined) ? 0 : start;
end = (end === undefined) ? (arr.length - 1) : end;
//设定第一个点为标量点
var pivot = arr[start];
var i = start,
j = end;
while (i < j) {
//从右开始往左走,找到第一个小于标量的
while (arr[j] > pivot && j > i) {
j--;
}
//从右开始往左走,找到第一个大于标量的
while (arr[i] <= pivot && i < j) {
i++;
}
//交换位置
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
arr[start] = arr[j];
arr[j] = pivot;
//继续遍历左半部分
if (start < (j - 1)) quick(arr, start, j - 1);
//继续遍历右半部分
if (end > j + 1) quick(arr, j + 1, end);
}
var arr = [6, 324, 56, 576, -9, 787, 8, 789, -1, 54, 6, 57, 8, 18, 21, 213, 4, 30000, 7, 68, 79, 1, 213, 12312];
console.log("排序前");
console.log(arr.join(','));
console.log("--------------------");
quick(arr);
console.log("排序后");
console.log(arr.join(','));
Go
1
https://gitee.com/sudowang/Quick_Sort.git
git@gitee.com:sudowang/Quick_Sort.git
sudowang
Quick_Sort
Quick_Sort
master

搜索帮助