iOS快速排序

時間復(fù)雜度:nlog(n)

//
//  main.m
//  Algorithms
//
//  Created by yuki on 2017/3/25.
//  Copyright ? 2017年 kang.yu.sh. All rights reserved.
//

#import <Foundation/Foundation.h>
static NSMutableArray *list;

void sumalute(NSInteger min,NSInteger max){
    if (max - min < 1) {//one element
        return;
    }
    
    NSInteger i = min;
    NSInteger j = max;
    NSNumber *target = list[min];
    for ( ; j >= min; j--) {
        NSNumber *after = list[j];
        if (after.integerValue > target.integerValue) {//?? small
            continue;
        }
        
        for (; i < j; i ++) {
            if (((NSNumber *)list[i]).integerValue > target.integerValue) {//?? big
                NSNumber *current = list[i];
                list[i] = list[j];
                list[j] = current;
                break;
            }
        }
        
        if (j == i) {
            NSNumber *current = list[min];
            list[min] = list[j];
            list[j] = current;
            NSLog(@"min>>: %ld, max>>: %ld, j>>: %ld" , min, max, j);
            NSLog(@"%@",list);
            break;
        }
    }
    
    sumalute(min, j-1);
    sumalute(j+1, max);
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        list = [NSMutableArray arrayWithObjects:@"4",@"5",@"6",@"5",@"8",@"7",@"3",@"2", nil];
        
        sumalute(0, list.count-1);
        
        NSLog(@"%@",list);
        
    }
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文分析冒泡、選擇、插入、希爾、快速、歸并和堆排序,為不影響閱讀體驗,將關(guān)于時間、空間復(fù)雜度和穩(wěn)定性的概念放在博文...
    DeppWang閱讀 504評論 0 2
  • 該系列文章主要是記錄下自己暑假這段時間的學(xué)習(xí)筆記,暑期也在實習(xí),抽空學(xué)了很多,每個方面的知識我都會另起一篇博客去記...
    Yanci516閱讀 12,658評論 6 19
  • 第一次看賽龍舟比賽,頂著烈日暴曬的參賽選手們,很不容易。中午12點就開始預(yù)備了,在海上暴曬幾個小時,烈日炎炎的夏日...
    KomiyaNG閱讀 314評論 0 0
  • 在這個世界上,90后自成一派,被賦予很多差評 任性 狂妄 目高一切 90后其實不怕辛苦,更不怕加班,只怕看不到希望...
    紅電子閱讀 242評論 0 0
  • 突然發(fā)現(xiàn),學(xué)習(xí)也是一種樂趣,突然發(fā)現(xiàn)自己還有好多不會的,不懂得。我從現(xiàn)在開始充電
    大小丫丫的媽媽閱讀 281評論 0 0

友情鏈接更多精彩內(nèi)容