OC 算法之冒泡排序

冒泡排序法的基本思想:(以升序为例)含有n个元素的数组原则上要进行n-1次排序。对于每一躺的排序,从第一个数开始,依次比较前一个数与后一个数的大小。
如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现称为最末位的数组元素。第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最
大数,该数将称为倒数第二的数组元素......n-1轮过后,就完成了排序。

实现代码:

    NSMutableArray * numArray = [NSMutableArray arrayWithObjects:@"3",@"13",@"5",@"2",@"7",@"18",@"21",@"16",@"23",@"33", nil];
    
    for (int i = 0; i<numArray.count-1; i++) {
        //-1 是因为循环后最后一位是整个排序最大的数
        for (int j =0; j<numArray.count-1-i; j++) {
            //-i 是因为每次i循环后最后一位是每次循环的最大值
            if ([numArray[j] intValue]>[numArray[j+1] intValue]) {
                int temp = [numArray[j] intValue];
                numArray[j] = numArray[j + 1];
                //OC中的数组只能存储对象,所以这里转换成string对象
                numArray[j + 1] = [NSString stringWithFormat:@"%d",temp];
                
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,241评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,754评论 0 15
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 2,326评论 0 35
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,290评论 0 2
  • 在现在的公司待了整整一年,生活与我刚开始的计划大相径庭。如果不是与朋友最近的见面,我不知道自己还会迁就多久。 去年...
    东宣本宣阅读 337评论 0 1