def partition(array, p, r):
x = array[r]
j = i = p - 1
for k in range(p, r):
if array[k] < x:
i += 1
j += 1
# Crucial: Assignment order must be rotative.
array[k], array[j], array[i] = array[j], array[i], array[k]
elif array[k] == x:
j += 1
array[j], array[k] = array[k], array[j]
i += 1
j += 1
array[j], array[r] = array[r], array[j]
return i, j
def quickSort(array, p, r):
if p < r:
i, j = partition(array, p, r)
print('i j =', i, j)
quickSort(array, p, i-1)
quickSort(array, j+1, r)
Quick sort with equivalent elements. Θ(nlgn)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腔寡,“玉大人焚鲜,你說我怎么就攤上這事。” “怎么了忿磅?”我有些...
- 文/不壞的土叔 我叫張陵糯彬,是天一觀的道長。 經(jīng)常有香客問我葱她,道長撩扒,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任吨些,我火速辦了婚禮搓谆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘豪墅。我一直安慰自己泉手,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布偶器。 她就那樣靜靜地躺著斩萌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屏轰。 梳的紋絲不亂的頭發(fā)上颊郎,一...
- 文/蒼蘭香墨 我猛地睜開眼升敲,長吁一口氣:“原來是場噩夢啊……” “哼答倡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驴党,我...
- 正文 年R本政府宣布调鬓,位于F島的核電站,受9級特大地震影響酌伊,放射性物質(zhì)發(fā)生泄漏腾窝。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一居砖、第九天 我趴在偏房一處隱蔽的房頂上張望虹脯。 院中可真熱鬧,春花似錦悯蝉、人聲如沸归形。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至厚棵,卻和暖如春蕉世,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背婆硬。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 快速排序是冒泡排序的一種改良,它是一種不穩(wěn)定排序宋列,即時間復(fù)雜度從O(n)~O(n^2)昭抒,平均O(nlgn)。不過在...
- 快速排序和冒泡排序類似炼杖,都是基于交換的思想灭返,快速排序?qū)γ芭菖判蜻M行了優(yōu)化,從而更加快速高效(從名字就可以看出應(yīng)該很...
- 前言 原文:[ javascript: 快速排序(Quick Sort) #146 ] 基本思想 1 在數(shù)據(jù)集之中...
- 快速排序是一種分治算法坤邪,將一個數(shù)組分成兩個子數(shù)組熙含,將兩部分獨立的排序⊥Х模快速排序和歸并排序是互補的:歸并排序?qū)?shù)組分...