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);}

谢谢!!!

你可能感兴趣的:(iOS 数组的排序(升序、降序、乱序))