js快速排序的实现代码
js快速排序的实现代码
发布时间:2016-12-30 来源:查字典编辑
摘要:但是有不少的书本讲得并不是很清楚,而且不同的教材的实现方式也不尽相同,我这里将最简单的快速排序的思路写出来供大家参考。希望不管是使用什么语言...

但是有不少的书本讲得并不是很清楚,而且不同的教材的实现方式也不尽相同,

我这里将最简单的快速排序的思路写出来供大家参考。

希望不管是使用什么语言都能从这个简单的代码里很方便的掌握快排思路与编写方式

复制代码 代码如下:

function quick_sort(list, start, end) {

if (start < end) {

var pivotpos = partition(list, start, end); //找出快排的基数

quick_sort(list, start, pivotpos - 1); //将左边的快排一次

quick_sort(list, pivotpos + 1, end); //将右边的快排一次

}

}

//将一个序列调整成以基数为分割的两个区域,一边全都不小于基数,一边全都不大于基数

function partition(list, start, end) {

var pivotpos = start;

var pivot = list[start];

var tmp;

for(var i = start + 1; i <= end; i ++) {

if (list[i] < pivot) {

tmp = list[i];

pivotpos += 1;

list[i] = list[pivotpos];

list[pivotpos] = tmp;

}

}

tmp = list[start];

list[start] = list[pivotpos];

list[pivotpos] = tmp;

return pivotpos;

}

var list = [8,2,4,65,2,4,7,1,9,0,2,34,12];

quick_sort(list, 0, list.length);

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类