- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *array = [NSMutableArray arrayWithArray:@[@5,@1,@9,@3,@7,@4,@8,@6,@2]];
[self quickSortWithArray:array left:0 right:array.count-1];
NSLog(@"%@",array);
}
#pragma mark ---快速排序算法 ----
-(void)quickSortWithArray:(NSMutableArray *)dataArray left:(NSInteger)left right:(NSInteger)right{
/*如果左邊索引大于或者等于右邊的索引就代表已經(jīng)整理完成一個組了*/
if (left >= right) {
return;
}
NSInteger i = left;
NSInteger j = right;
NSNumber * key = dataArray[left];
/*控制在當(dāng)組內(nèi)尋找一遍*/
while (i< j) {
while (i<j && key <= dataArray[j])
/*而尋找結(jié)束的條件就是孤里,1浆兰,找到一個小于或者大于key的數(shù)(大于或小于取決于你想升
序還是降序)2,沒有符合條件1的咖气,并且i與j的大小沒有反轉(zhuǎn)*/
{
j--;/*向前尋找*/
}
dataArray[i] = dataArray[j];
/*找到一個這樣的數(shù)后就把它賦給前面的被拿走的i的值(如果第一次循環(huán)且key是
a[left],那么就是給key)*/
while(i < j && key >= dataArray[i])
/*這是i在當(dāng)組內(nèi)向前尋找,同上,不過注意與key的大小關(guān)系停止循環(huán)和上面相反持偏,
因?yàn)榕判蛩枷胧前褦?shù)往兩邊扔,所以左右兩邊的數(shù)大小與key的關(guān)系相反*/
{
i++;
}
dataArray[j] = dataArray[i];
}
dataArray[i] = key;/*當(dāng)在當(dāng)組內(nèi)找完一遍以后就把中間數(shù)key回歸*/
[self quickSortWithArray:dataArray left:left right:i-1];
/*最后用同樣的方式對分出來的左邊的小組進(jìn)行同上的做法*/
[self quickSortWithArray:dataArray left:i+1 right:right];
/*用同樣的方式對分出來的右邊的小組進(jìn)行同上的做法*/
/*當(dāng)然最后可能會出現(xiàn)很多分左右氨肌,直到每一組的i = j 為止*/
}
算法之一 : <<快速排序>>
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門沥阱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伊群,你說我怎么就攤上這事考杉。” “怎么了舰始?”我有些...
- 文/不壞的土叔 我叫張陵崇棠,是天一觀的道長。 經(jīng)常有香客問我丸卷,道長枕稀,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任及老,我火速辦了婚禮抽莱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骄恶。我一直安慰自己,他們只是感情好匕垫,可當(dāng)我...
- 文/花漫 我一把揭開白布僧鲁。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寞秃。 梳的紋絲不亂的頭發(fā)上斟叼,一...
- 文/蒼蘭香墨 我猛地睜開眼厘线,長吁一口氣:“原來是場噩夢啊……” “哼识腿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起造壮,我...
- 序言:老撾萬榮一對情侶失蹤渡讼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后耳璧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體成箫,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年旨枯,在試婚紗的時候發(fā)現(xiàn)自己被綠了伟众。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站筹煮,受9級特大地震影響遮精,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜败潦,卻給世界環(huán)境...
- 文/蒙蒙 一本冲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劫扒,春花似錦檬洞、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽湾戳。三九已至,卻和暖如春广料,著一層夾襖步出監(jiān)牢的瞬間砾脑,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓购桑,卻偏偏與公主長得像畅铭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子其兴,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1.快速排序的基本思想 長話短說元旬,排序算法中快速排序的性能還是不錯的榴徐,今天我就講講javascript中實(shí)現(xiàn)快速排...
- 選擇排序 對于任何輸入,時間為O(n*n)沽翔; 冒泡排序 最優(yōu)(對于升序的數(shù)組兢孝,因?yàn)榧尤肓艘粋€跳出判斷):O(n),...
- 1.冒泡排序(依次循環(huán)旁邊的比較放到后邊去) 冒泡排序是通過比較兩個相鄰元素的大小實(shí)現(xiàn)排序窗轩,如果前一個元素大于后一...