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

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

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

- (void)arrayAscending{

//数组排序

//定义一个数字数组

NSArray *array =@[@(3),@(4),@(2),@(1)];

//对数组进行排序

NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id_Nonnullobj1,id_Nonnullobj2) {

NSLog(@"%@~%@",obj1,obj2);//3~4 2~1 3~1 3~2

return[obj1 compare:obj2];//升序

}];

NSLog(@"result=%@",result);

}

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

- (void)arrayDescendingOrder{

//数组排序

//定义一个数字数组

NSArray *array =@[@(3),@(4),@(2),@(1)];

//对数组进行排序

NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id_Nonnullobj1,id_Nonnullobj2) {

NSLog(@"%@~%@",obj1,obj2);//3~4 2~1 3~1 3~2

return[obj2 compare:obj1];//降序

}];

NSLog(@"result=%@",result);

}

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

- (void)arrayOutOfOrder{

//数组排序

//定义一个数字数组

NSArray *array =@[@(3),@(4),@(2),@(1),@(5),@(6),@(0)];

//对数组进行排序

NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id_Nonnullobj1,id_Nonnullobj2) {

NSLog(@"%@~%@",obj1,obj2);

//乱序

if(arc4random_uniform(2) ==0) {

return[obj2 compare:obj1];//降序

}

else{

return[obj1 compare:obj2];//升序}}];NSLog(@"result=%@",result);}

谢谢!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组可对其中包含的元素进行排序。 在排序前,我们需要定义一个Model类,将Model类对象添加至数组中。 定义一...
    SkyMing一C阅读 13,730评论 0 15
  • pragma mark -- 数组排序方法(升序) (void)arraySortASC{//数组排序//定义一个...
    seventhboy阅读 3,047评论 0 0
  • 一、数组排序 简单排序(sortedArrayUsingSelector:)如果只是对字符串的排序,可以利用sor...
    奋斗的蜗牛阅读 6,780评论 0 2
  • 面向对象三大支柱封装:就是把相关的数据和代码结合成一个有机的整体,形成数据和操作代码的封装体,对外只提供一个可以控...
    WangDavid阅读 5,731评论 0 2
  • 第一种,利用数组的sortedArrayUsingComparator调用 NSComparator ,obj1和...
    木马不在转阅读 13,931评论 0 5