iosOC/C不可变数组排序

Posted

tags:

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

//1.回顾C数组排序

        int a[6] = {1,4,3,5,6,2};

        //选择

        for (int i =0; i<6-1; i++) {

            for (int j = i+1; j<6;j++) {

                if(a[i]>a[j]){

                    int tmp = a[i];

                    a[i] = a[j];

                    a[j] = tmp;

                }

            }

        }

        for(int i=0;i<6;i++){

            printf("a[%d] = %d\n",i,a[i]);

        }

      

    //NSArray 排序

        NSArray * array = @[@"1",@"4",@"5",@"7",@"2",@"9"];

     //当前放返回值是数组,这个排序是系统默认提供,遵从从小大 具有局限性 不方便扩展 不会经常使用

    [array sortedArrayUsingSelector:@selector(compare:)];

//    [array sortedArrayWithOptions:<#(NSSortOptions)#> usingComparator:<#^NSComparisonResult(id obj1, id obj2)cmptr#>]

//      [array sortedArrayUsingFunction:<#(NSInteger (*)(__strong id, __strong id, void *))#> context:<#(void *)#>]

       

        NSMutableArray * arr2 = [[NSMutableArray alloc]initWithArray:array];

        

        for (int i = 0; i<[arr2 count]-1; i++) {

            for (int j = i+1; j<[arr2 count]; j++) {

            if(([arr2[i] intValue])>([arr2[j] intValue])){

                NSString * str = arr2[i];

                arr2[i] = arr2[j];

                arr2[j] = str;

                }

            }

        }

        NSLog(@"%@",arr2);

以上是关于iosOC/C不可变数组排序的主要内容,如果未能解决你的问题,请参考以下文章

iosOC可变数组选择,冒泡排序

JavaScript:自动对可变多维数组进行对角排序

java方法的可变参数数组复制排序分类冒泡和选择排序搜索等常用方法实现

iPhone Obj C——对一个可变字典数组进行排序——显示一个字符串但按值排序

不可变数组和可变数组

scala数据结构与可变不可变