快排简要介绍

Posted catEatBird

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快排简要介绍相关的知识,希望对你有一定的参考价值。

<!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>

以上是关于快排简要介绍的主要内容,如果未能解决你的问题,请参考以下文章

算法排序02——归并排序介绍及其在分治算法思想上与快排的区别(含归并代码)

排序(重点介绍快速排序的各种场景, 堆排序的数组空洞)

排序(重点介绍快速排序的各种场景, 堆排序的数组空洞)

排序(重点介绍快速排序的各种场景, 堆排序的数组空洞)

排序之快排

Java排序算法分析与实现:快排冒泡排序选择排序插入排序归并排序