美文网首页
iOS数组的排序(升序、降序、乱序)

iOS数组的排序(升序、降序、乱序)

作者: zxb有缘 | 来源:发表于2019-05-28 16:41 被阅读0次

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/xrwdtctx.html