ios oc用递归实现冒泡算法

排序思路:

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]];

你可能感兴趣的:(ios oc用递归实现冒泡算法)