码迷,mamicode.com
首页 > 编程语言 > 详细

八大排序方法

时间:2017-06-19 15:55:15      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:obj   nbsp   i++   class   component   cts   记录   div   比较   

 

 


 

1、插入排序    

从前向后依次记录x(>0)位置的元素,x 依次和前面的元素进行比较,大于x的元素后移一位,小于等于x时在其后插入x元素
    

 

    NSMutableArray *originArr =[NSMutableArray arrayWithObjects:@1,@5,@3,@7,@9,@8,@2,@4,@6, nil];
    
    for (int i = 1; i<originArr.count; i++) {
        
        if (originArr[i]<originArr[i-1]) {//和i-1位置元素比较
            int cur = [originArr[i] intValue];
            int j = i-1;
            originArr[i] = originArr[i-1];
            //和i-1位置之前的元素进行比较
            while (cur<[originArr[j-1] intValue]&&j>0) {
                originArr[j] = originArr[j-1];//大于持有数字的元素向后移动一个位置
                j--;
            }
            originArr[j] =[NSNumber numberWithInt:cur];
        }
        NSString *arrStr = [originArr componentsJoinedByString:@","];
        NSLog(@"第%d次排序结果----%@",i,arrStr);
        
    }

打印信息:

技术分享

八大排序方法

标签:obj   nbsp   i++   class   component   cts   记录   div   比较   

原文地址:http://www.cnblogs.com/sunjianfei/p/7048934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!