美文网首页
OC 算法之冒泡排序

OC 算法之冒泡排序

作者: 闹钟先生的闹钟 | 来源:发表于2017-03-04 20:58 被阅读39次

    冒泡排序法的基本思想:(以升序为例)含有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];
                    
                }
            }
        }
    

    相关文章

      网友评论

          本文标题:OC 算法之冒泡排序

          本文链接:https://www.haomeiwen.com/subject/tqmjgttx.html