iOS之数组的排序(升序降序及乱序)

Posted —━紫風.づ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS之数组的排序(升序降序及乱序)相关的知识,希望对你有一定的参考价值。

#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之数组的排序(升序降序及乱序)的主要内容,如果未能解决你的问题,请参考以下文章

lambda linq 表达式 ListBox 的升序 降序 乱序

iOS小技能:对象数组按照日期分组和排序,使用块代码实现数组排序和乱序。

iOS小技能:对象数组按照日期分组和排序,使用块代码实现数组排序和乱序。

简单排序算法:冒泡法排序(Java)

scrapy爬下来的数据是乱序的,如何排序?

sort排序