js快速排序的實現(xiàn)代碼
更新時間:2013年12月08日 16:04:24 作者:
快速排序是一種平均性能非常優(yōu)秀的排序算法,在很多場合都會應用到他,了解快速排序于對開放高效率的軟件有很重要的作用
但是有不少的書本講得并不是很清楚,而且不同的教材的實現(xiàn)方式也不盡相同,
我這里將最簡單的快速排序的思路寫出來供大家參考。
希望不管是使用什么語言都能從這個簡單的代碼里很方便的掌握快排思路與編寫方式
復制代碼 代碼如下:
function quick_sort(list, start, end) {
if (start < end) {
var pivotpos = partition(list, start, end); //找出快排的基數(shù)
quick_sort(list, start, pivotpos - 1); //將左邊的快排一次
quick_sort(list, pivotpos + 1, end); //將右邊的快排一次
}
}
//將一個序列調(diào)整成以基數(shù)為分割的兩個區(qū)域,一邊全都不小于基數(shù),一邊全都不大于基數(shù)
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);
相關文章
微信小程序?qū)崿F(xiàn)注冊登錄功能(表單校驗、錯誤提示)
這篇文章主要介紹了微信小程序 實現(xiàn)注冊、登錄功能(表單校驗、錯誤提示),本文通過代碼給大家詳細介紹,需要的朋友可以參考下2019-12-12javascript實現(xiàn)的一個自定義長度的文本自動換行的函數(shù)。
javascript實現(xiàn)的一個自定義長度的文本自動換行的函數(shù)。...2007-08-08