package Java;
public class QuickSort {
/**
* 時間復(fù)雜度O(nlogn)
* 空間復(fù)雜度O(logn)遞歸需要棧的輔助
* 最壞時間復(fù)雜度O(n^2)
* @param nums
* @param start
* @param end
*/
public static void QuickSort(int[] nums, int start, int end) {
int i = start;
int j = end;
if (start >= end) {
return;
}
int temp = nums[i];
while (i < j) {
//從右往左掃描袍啡,找到小于temp的值
while (i < j && nums[j] >= temp) {
j--;
}
//找到小于temp的值,將其賦值給nums[i]境输,并將i向右移一位卖鲤。
if (i < j) {
nums[i] = nums[j];
i++;
}
//從左往右掃描,直到找到大于temp的值
while (i < j && nums[i] <= temp) {
i++;
}
//找到大于temp的值畴嘶,將其賦值給nums[j],并將j往左移一位集晚。
if (i < j) {
nums[j] = nums[i];
j--;
}
}
//最后是temp的值
nums[i] = temp;
//遞歸將temp左邊的數(shù)組排序
QuickSort(nums, start, i - 1);
QuickSort(nums, i + 1, end);
//遞歸將temp右邊的數(shù)組排序
}
public static void main(String[] args) {
int[] nums = {6,89,2,11,3,79,51,19,87};
QuickSort(nums, 0, nums.length - 1);
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
}
}
QuickSort
?著作權(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)容
- 中午收盤看上證指數(shù)日線圖,昨天畫出這三條趨勢線的尖角尝丐,天策說到關(guān)注突破方向显拜,當前看,早晨直接低開就宣告破位了爹袁,那么...
- 1. 上班時間/下班時間/打卡方式/日常加班情況/加班晚上是否報銷打車 2. 公司位置(繁華區(qū)域/非繁華區(qū)域)远荠,繁...