<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var arr = [6,10,2,9,3,8,11,4,5];
function quickSort(data, start, end) {
// 确定要处理的数据的起始位置和结束位置
var start = start || 0;
if (end === undefined) {
end = data.length - 1;
}
// console.log(start, end);
if (start >= end) {
return;
}
// 确定一个参考值
var v = data[start];
// 确定从左到右和从右到左的下标点
var i = start;
var j = end;
//当i小于j的时候,表示i和j还没有重合,需要执行
while (i < j) {
while (data[j] > v && i < j) {
j--;
}
data[i] = data[j];
while (data[i] < v && i < j) {
i++;
}
data[j] = data[i];
}
data[i] = v;
// console.log(data);
// console.log(i);
quickSort(data, start, i - 1);
// console.log(i);
quickSort(data, i + 1, end );
}
quickSort(arr);
console.log(arr);
</script>
</body>
</html>