ios oc用递归实现冒泡算法

2019-09-28  本文已影响0人  ios周周

排序思路:

1 子问题,一趟排序把最大的数排到末尾

2 外层循环控制排序次数,内层循环控制比较次数。外层循环排序次数的减少即是问题规模的缩小

- (void)bubbleSort:(NSMutableArray *)arrMu count:(NSUInteger)count

{

    if(count ==0|| count ==1) {

        //终止条件,出口

        return;

    }

    for(int i =0; i< count-1; i++) {

        if([arrMu[i]integerValue]>[arrMu[i+1]intValue]) {

            idob1= arrMu[i+1];

            arrMu[i+1] = arrMu[i];

            arrMu[i] = ob1;

        }

    }

    //缩小规模

    [self bubbleSort:arrMu count:count-1];

}

调用

    NSArray* arr =@[@1,@3,@5,@4,@2];

    NSMutableArray *arrM = [[NSMutableArray alloc] initWithArray:arr];

    [self bubbleSort:arrM count:[arrMcount]];

上一篇 下一篇

猜你喜欢

热点阅读