js快速排序的實現(xiàn)代碼
更新時間:2013年12月08日 16:04:24 作者:
快速排序是一種平均性能非常優(yōu)秀的排序算法,在很多場合都會應(yīng)用到他,了解快速排序于對開放高效率的軟件有很重要的作用
但是有不少的書本講得并不是很清楚,而且不同的教材的實現(xiàn)方式也不盡相同,
我這里將最簡單的快速排序的思路寫出來供大家參考。
希望不管是使用什么語言都能從這個簡單的代碼里很方便的掌握快排思路與編寫方式
復(fù)制代碼 代碼如下:
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);
相關(guān)文章
微信小程序?qū)崿F(xiàn)注冊登錄功能(表單校驗、錯誤提示)
這篇文章主要介紹了微信小程序 實現(xiàn)注冊、登錄功能(表單校驗、錯誤提示),本文通過代碼給大家詳細介紹,需要的朋友可以參考下2019-12-12javascript實現(xiàn)的一個自定義長度的文本自動換行的函數(shù)。
javascript實現(xiàn)的一個自定義長度的文本自動換行的函數(shù)。...2007-08-08使用JavaScript為一張圖片設(shè)置備選路徑的方法
在做網(wǎng)頁開發(fā)的時候,有時候希望給圖片設(shè)置一個備選路徑,即,當(dāng)src屬性對應(yīng)的主路徑加載失敗的時候,圖片可以馬上切換到備選路徑,怎么實現(xiàn)呢?下面通過本文給大家分享JavaScript為一張圖片設(shè)置備選路徑的方法,一起看看吧2017-01-01jsvascript圖像處理—(計算機視覺應(yīng)用)圖像金字塔
上一篇文章,我們講解了邊緣梯度計算函數(shù),這篇文章我們來了解圖像金字塔;圖像金字塔被廣泛用于計算機視覺應(yīng)用中;圖像金字塔是一個圖像集合,集合中所有的圖像都源于同一個原始圖像,而且是通過對原始圖像連續(xù)降采樣獲得的2013-01-01