Posted in Javascript onDecember 08, 2013
但是有不少的书本讲得并不是很清楚,而且不同的教材的实现方式也不尽相同,
我这里将最简单的快速排序的思路写出来供大家参考。
希望不管是使用什么语言都能从这个简单的代码里很方便的掌握快排思路与编写方式
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);
js快速排序的实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@