原來快速排序如此簡單

2021-10-07 13:26:30 字數 1123 閱讀 6536

前幾天寫了二分查詢,今天重新來看快速排序。發現他們有許多共同的地方。

先說說二分的思想:對於有序陣列,

將陣列為兩份取中間值,如果等於返回。

如果小於繼續在左區間尋找,重複步驟1.

如果大於在右區間找,重複步驟1.

執行上述步驟,直到left指向的下標大於right指向的下標(說明遍歷完了了還沒有找到)。

在來說說快速排序:

選擇乙個基準值將比他小的值移到左邊,比他大的值移到右邊。

左邊區域右邊區域重複步驟4,直到每個分割槽只有乙個數。

可以說快速排序是一種分治的思想,然後我們如果只看分割槽過後的話,可以發現它和二分有些神似,特別是在編寫**的過程中我們可以發現他們的相似之處。

二分的**:

public

boolean

binaryserach

(int

args,

int left,

int right,

int target)

if(args[mid]

== target)

else

if(target > args[mid]

)else

if(target < args[mid]

)return

false

;}

快速排序

public

int[

]sort

(int arr,

int left,

int right)

return arr;

}public

intpattation

(int arr,

int left,

int right)

}swap

(arr,pivot,index-1)

;return index-1;

}//交換元素

public

void

swap

(int arr,

int i,

int j)

可以看出兩份**都是左右進行分割槽操作,區別就是快速排序多了乙個分割槽操作,獲得乙個中點。

原來如此簡單

你對我說美麗的女孩子是種危險的動物,她們詭譎善變,揚起貓一樣的觸鬚來挑動你身上的每一處情感神經。不過我想不管是哪種型別的女孩子,在她的心中的某個角落一定藏著乙份對於純美愛情的嚮往,只是表現出來的樣子不同罷了!喜歡彈鋼琴只彈黑鍵,喜歡把熱牛奶放在左邊,喜歡對著毛絨娃娃傾訴我對你的想念。想讓你知道我就是...

理解ERP原來如此簡單

家 中 請 客 訂貨意向 妻子 當然可以,來幾個人,幾點來,想吃什麼菜?丈夫 6個人,我們7點左右回來,準備些酒 烤鴨 番茄炒蛋 冷盤 蛋花湯。你 看可以嗎?商務溝通 妻子 沒問題,我會準備好的,訂單確認 妻子記錄下需要做的選單 mps計畫 具體要準備的菜 鴨 酒 番茄 雞蛋 作 油。bom物料清單...

冒泡的排序,原來如此

由於原來對c語言,學的不好,很多都不懂,所以在資料結構上的學習也是吃了一些虧,所以現在在抓緊時間溫習原來的知識,無意看到了演算法中的氣泡排序。原來一直不敢去面對寫 這件事,但為了工作,加油 廢話少說,直接上 vs2013上寫的c語言,氣泡排序!參考了啊哈,演算法一書的 define crt secu...