首页 > 其他 > 详细

快排简要介绍

时间:2017-06-07 00:14:56      阅读:385      评论:0      收藏:0      [点我收藏+]

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

快排简要介绍

原文:http://www.cnblogs.com/catEatBird/p/6954144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!