iOS 排序

iOS开发中很少需要自己写排序的算法,因为苹果已经为我们封装好了。

简单的数值排序

NSMutableArray* arr = [NSMutableArrayarrayWithObjects:  
                           [NSNumber numberWithInt:0],  
                           [NSNumber numberWithInt:3],  
                           [NSNumber numberWithInt:2],  
                           [NSNumber numberWithInt:1],  
                           [NSNumber numberWithInt:7],  
                           [NSNumber numberWithInt:8],  
                           [NSNumber numberWithInt:9],  
                           [NSNumber numberWithInt:10],  
                           [NSNumber numberWithInt:6],  
                           [NSNumber numberWithInt:5],  
                           [NSNumber numberWithInt:4],  
                           nil];  
      
    // 升序  
    // 0 --> 10  
    [arr sortUsingComparator:^NSComparisonResult(__strongid obj1,__strong id obj2){  
        return [obj1 intValue] > [obj2intValue];  
    }];  
       
      
    // 降序  
    // 10 --> 0  
    [arr sortUsingComparator:^NSComparisonResult(__strongid obj1,__strong id obj2){  
        return [obj1 intValue] < [obj2intValue];  
    }];

复杂类型排序

NSMutableArray* arr = [NSMutableArray arrayWithObjects:@"C", @"A", @"H", @"I", @"B", @"D", @"J", @"E", @"F", @"G", @"K", nil];  
      
    // 升序  
    // A --> K  
    [arr sortUsingComparator:^NSComparisonResult(__strong id obj1,__strong id obj2){  
        NSString *str1=(NSString *)obj1;  
        NSString *str2=(NSString *)obj2;  
        return [str1 compare:str2];  
    }];  
      
      
    // 降序  
    // K --> A  
    [arr sortUsingComparator:^NSComparisonResult(__strong id obj1,__strong id obj2){  
        NSString *str1=(NSString *)obj1;  
        NSString *str2=(NSString *)obj2;  
        return [str2 compare:str1];  
    }];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,812评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,305评论 4 61
  • 我突然想在这个寒冷寂寞的夜晚讲个故事,故事关于他,关于我,关于稚嫩的青春,关于我曾一遍遍回首却不可触及的经年残影…...
    给我一颗彩虹糖阅读 248评论 0 2
  • 终于所有车票+宾馆搞定,开心地爬上来唠叨两句。 我这个人哪,总喜欢给自己立点奇奇怪怪的规矩,比如说一定要用自己赚的...
    译者Susy阅读 159评论 0 1
  • 也许是有一天女孩们为父母做了一顿饭,淘气的哥哥或弟弟还在游戏里昏天黑地,当女孩们捧着奖状回家,男孩们却因逃课而传呼...
    简简单单潇然阅读 483评论 0 0