• 快速排序


    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        NSMutableArray *arr = @[@"9", @"8", @"2", @"6", @"1"].mutableCopy;
     [self QuickSort:arr StartIndex:0 EndIndex:4];
        NSLog(@"%@", arr);
    }
    
    -(void)QuickSort:(NSMutableArray *)list StartIndex:(NSInteger)startIndex EndIndex:(NSInteger)endIndex{
        
        if(startIndex >= endIndex)return;
        
        NSNumber * temp = [list objectAtIndex:startIndex];
        NSInteger tempIndex = startIndex; //临时索引 处理交换位置(即下一个交换的对象的位置)
        
        for(int i = (int)startIndex + 1 ; i <= endIndex ; i++){
            
            NSNumber *t = [list objectAtIndex:i];
            
            if([temp intValue] > [t intValue]){
                
                tempIndex = tempIndex + 1;
                
                [list exchangeObjectAtIndex:tempIndex withObjectAtIndex:i];
                
            }
            
        }
        
        [list exchangeObjectAtIndex:tempIndex withObjectAtIndex:startIndex];
        [self QuickSort:list StartIndex:startIndex EndIndex:tempIndex-1];
        [self QuickSort:list StartIndex:tempIndex+1 EndIndex:endIndex];
       
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    
    @end

    打印结果

    2016-12-22 17:56:14.546 text[31326:1735436] (
        1,
        2,
        6,
        8,
        9
    )

  • 相关阅读:
    CocoaPods
    第一篇 理论 1.7 精进-正念-正知,如理作意和觉察力
    构架稳定与可扩展的优惠券系统
    一个产品从0到1的过程
    实现实时定位
    征信比拼重点是数据和连接
    黑产
    爬虫有什么用
    爬虫应用
    甘蔗理论
  • 原文地址:https://www.cnblogs.com/menglingxu/p/6212353.html
Copyright © 2020-2023  润新知