美文网首页
iOS之数组的排序

iOS之数组的排序

作者: seventhboy | 来源:发表于2017-04-27 00:00 被阅读92次

pragma mark -- 数组排序方法(升序)

  • (void)arraySortASC{
    //数组排序
    //定义一个数字数组
    NSArray *array = @[@(3),@(4),@(2),@(1)];
    //对数组进行排序
    NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
    NSLog(@"%@~%@",obj1,obj2); //3~4 2~1 3~1 3~2
    return [obj1 compare:obj2]; //升序
    }];
    NSLog(@"result=%@",result);
    }

pragma mark -- 数组排序方法(降序)

  • (void)arraySortDESC{
    //数组排序
    //定义一个数字数组
    NSArray *array = @[@(3),@(4),@(2),@(1)];
    //对数组进行排序
    NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
    NSLog(@"%@~%@",obj1,obj2); //3~4 2~1 3~1 3~2
    return [obj2 compare:obj1]; //降序
    }];
    NSLog(@"result=%@",result);
    }

pragma mark -- 数组排序方法(乱序)

  • (void)arraySortBreak{
    //数组排序
    //定义一个数字数组
    NSArray *array = @[@(3),@(4),@(2),@(1),@(5),@(6),@(0)];
    //对数组进行排序
    NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
    NSLog(@"%@~%@",obj1,obj2);
    //乱序
    if (arc4random_uniform(2) == 0) {
    return [obj2 compare:obj1]; //降序
    }
    else{
    return [obj1 compare:obj2]; //升序
    }
    }];
    NSLog(@"result=%@",result);
    }

相关文章

网友评论

      本文标题:iOS之数组的排序

      本文链接:https://www.haomeiwen.com/subject/fxtgzttx.html