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

}

时间: 2024-08-02 02:48:29

iOS之数组的排序(升序、降序及乱序)的相关文章

Linq 对string[]字符串数组进行排序 (升序、降序、乱序)

using System; using System.Collections; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string[] array = { "a.m.", "a", "Smith", "Jones", "module", "zoolog

iOS中数组的排序方法

1函数介绍与实例 函数一:- (void)sortUsingSelector:(SEL)comparator; 适用于数组中的元素自带比较函数时: 数组排序函数,调用该函数的对象为数组,comparator是调用该函数的数组中的元素的方法.函数参数类型为数组中的元素类型或者id类型,在调用时不需要传递参数,排序过程不可见,该函数执行时:循环取出各个元素,进行比较,然后放到合适的位置 使用实例: 将数组中的元素按照字符串大小排序: NSMutableArray*array = [[NSMutabl

乱序字符串

题目描述:给出一个字符串数组S,找到其中所有的乱序字符串(Anagram).如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中. 样例:对于字符串数组 ["lint","intl","inlt","code"],返回 ["lint","inlt","intl"] 还是使用哈希表.对于每个字符串出现的字符构成键,所在的索引构成值.这样,所

java Map排序(升序、降序、随机排序)

基础知识: 1 HashMap会使用key,根据hashcode进行默认排序. 2  LinkedHashMap根据存入先后进行排序 代码展示: 1 随机排序 java Map排序(升序.降序.随机排序),布布扣,bubuko.com

javascript实现表格升序降序排列

javascript实现表格升序降序排列的步骤如下: 1,生成表格,并给各列表头添加onclick的排序响应函数 2,取得表格各行的数据,并存入临时数组 3,对该临时数组进行排序 4,利用createDocumentFragment,appendChild方法把排序好的数组转换成表格输出,至此排序完毕. 详细代码如下: 经测试可以直接使用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

第六讲 Block块语法及Block与数组的排序,ios字面量的使用(源代码上传)

1 #import <Foundation/Foundation.h> 2 3 4 #import "Student.h" 5 6 int c =200; 7 int main(int argc, const char * argv[]) { 8 @autoreleasepool { 9 /* 10 ------------------------------------- 11 定义block变量的四种方法 12 -----------------------------

java中的选择排序之降序排列

1 import java.util.Arrays;//必须加载 2 class Demo{ 3 public static void main(String []args){ 4 int[] arr={3,54,456,342,2798}; 5 System.out.println(Arrays.toString(arr));//java打印数组,排序前[3, 54, 456, 342, 2798] 6 arrSort(arr); 7 System.out.println(Arrays.toS

定义一个数字数组,用冒泡排序降序输出

public class M{ int[] array = {2,3,6.5.89.4.1.6}; int b = array.length; int temp = 0; for(int i=0;i<b;i++){ for(int j=i+1;j<b;j++){ if(array[i]>array[j]){ temp = a[i]; a[j] = a[i]; a[j] = temp; } } } System.out.print("array元素的降序排序:"); f

写一个函数实现数组中的元素随机乱序排序

//原生JS写一个函数实现一个shuffle方法,将数组中的元素随机乱序排序 var shuffle = function(arr){ var len,t,rand; for(var i =0;len = arr.length,i<len;i++){ rand = parseInt(Math.random()*len);//parseInt(Math.random()*(len-1-0)+1);或者rand = Math.floor(Math.random()*(len-1-0)+1);即Mat