ios冒泡排序

//OC的冒泡排序
- (void)GHPocmp{
    NSMutableArray *array = [[NSMutableArray alloc]initWithArray: @[@"8",@"2",@"5",@"3",@"6",@"4"]];
    for (int j = 1; j < array.count; j++) {
        //array.count-j j从1开始 是为了防止数组越界
        //循环一次把最大的一个数排在最后面
        //下次循环的时候就把最后那个数给忽略了,不比较他了,因为他比前面的数字都大;所以每次都-j

        //再粗俗点说就是
        //第一次循环把最大的数放到了最后 8
        //跌二次循环把倒数第二大的数放到了倒数第二位 6,8
        //      5,6,8
        //    4,5,6,8
        //  3,4,5,6,8
        //2,3,4,5,6,8
        for (int i = 0; i < array.count-j; i++) {
            if ([array[i] integerValue]>[array[i+1] integerValue]) {
                [array exchangeObjectAtIndex:i withObjectAtIndex:i+1];
                //冒泡排序由小到大排序
                //1.循环比较第i个和i+1个大小,如果i>i+1则交换它俩的位置
                //一次循环下来把最大的数字排到了最后面
                //比如说这几个数字
                //@"8",@"2",@"5",@"3",@"6",@"4"
                /** 第一次循环 i=0; i
ios冒泡排序_第1张图片
把8移动到最后面的过程

你可能感兴趣的:(ios冒泡排序)