ios使用object-c实现快速排序算法

在iOS开发中我们有许多时候用到排序算法,而快速排序是比较常用的算法

代码才用递归的方法,内容如下:

-(void)quickSort:(NSMutableArray *)array withLeftIndex:(NSInteger)leftIndex AndRightIndex:(NSInteger)rightIndex{

    

    

    if(leftIndex>=rightIndex){

        

        return;

    }

    

    NSInteger i=leftIndex;

    NSInteger j=rightIndex;

    

    NSInteger key=[[array objectAtIndex:i] integerValue];

    

    while (i<j) {

        

        while (i<j&&[[array objectAtIndex:j] integerValue]>key) {

            j--;

        }

        array[i]=array[j];

        while (i<j&&[[array objectAtIndex:i] integerValue]<key) {

            i++;

        }

        array[j]=array[i];

        

      

    }

    

    array[i]=@(key);

    

    [self quickSort:array withLeftIndex:leftIndex AndRightIndex:i-1];

    [self quickSort:array withLeftIndex:i+1 AndRightIndex:rightIndex];

    

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值