//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不可变数组排序的更多相关文章

  1. iOS学习16之OC集合遍历和数组排序

    1.集合遍历 1> 遍历 集合(Collection):OC中提供的容器类:数组,字典,集合. 遍历:对集合中元素依次取出的过称叫做遍历. 三种方式:① for循环遍历: ② NSEnumera ...

  2. OC数组排序

    NSArray *array = @[@"tailong", @"kaersasi", @"airuiliya", @"yingl ...

  3. iOS学习之Object-C语言集合遍历和数组排序

    一.集合遍历      1.集合:OC中提供的容器类,数组,字典,集合.      2.遍历:对集合中元素依次取出的过程叫做遍历. 二.for循环遍历      1.通过for循环的循环变量用作数组元 ...

  4. OC:Block语法、Block使用、Block实现数组排序

    Block //定义一个求两个数最大值函数 int maxValue (int ,int); //函数的实现 int maxValue (int a, int b){ return  a > b ...

  5. block 数组排序

    #import <Foundation/Foundation.h> //定义⼀一个block,返回值为BOOL,有两个NSString参数.实现:判 //断字符串是否相等. BOOL (^ ...

  6. 自己在OC考试中的试题

      Objective-C考试 [关闭] ※ 选择题(共40题,每题2分) 1. 以下说法正确的是________. 答案:(C) A.alloc,retain,release,dealloc都会使对 ...

  7. iOS - OC NSArray 数组

    前言 @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSe ...

  8. iOS - Swift Array 数组

    前言 public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContai ...

  9. OC小结

    #import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * a ...

随机推荐

  1. 我的JAvA第三天

  2. 使用sublime text3 连接sftp/ftp(远程服务器)

    首先说明的是Sumblime Text 3,下载安装后,打开软件 在红色箭头指定的控制区域粘贴下面这段英文 import urllib.request,os,hashlib; h = '2915d18 ...

  3. 各个Maven仓库镜像(包括国内)

    各个Maven仓库镜像(包括国内) 衽孤魍墓 ゅ槭 众矿工唯唯诺诺我在旁哭笑不得原 宦蠃サ 骘猩池 粑涫汾滹 吧滔哌蹋 飑俗た 狃攵庾唾 想必是想挡住什么我想反正这笔筒也不是 翡蜮胼 娴左 ...

  4. java poi 导出Excel文件

    1,导包  poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private st ...

  5. Yii2 基于RESTful api 坑 访问会把控制器名称变为复数

    'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrict ...

  6. Blob写入文件

    1.Spring自带方法,定义输出流就可以写入文件 final OutputStream os; os = new FileOutputStream(new File("300.zip&qu ...

  7. date格式化

    Linux: [ghsea@localhost ~]date +%Y:%m:%d [ghsea@localhost ~]date +%Y-%m%d [ghsea@localhost ~]date +% ...

  8. NSLineBreakMode

    typedef enum {    UILineBreakModeWordWrap = 0,    UILineBreakModeCharacterWrap,    UILineBreakModeCl ...

  9. 对dpkg: error processing package xxx (--configure) 的处理

    这个问题是在在安装Deepdive时候碰到的,具体来说在执行 sudo apt-get update碰到的sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_ ...

  10. jquery 学习笔记 (2)--write less,do more

    $(window).load(function(){      })           window.onload=function(){ } toggle()方法 toggle()方法的语法结构: ...