快速排序(Object-c)

  1. +(NSMutableArray *)kuaisuMethodTest:(NSMutableArray *)dataArray low:(int )lowIndex high:(int)highIndex{    

  2. //    NSMutableArray *data=[[NSMutableArray alloc] initWithObjects:@"5",@"4",@"2",@"8",@"1",@"7",@"9",@"6",nil];

  3.     if (lowIndex<highIndex) {

  4.         int i=lowIndex,j=highIndex;

            int vot=[[dataArray objectAtIndex:i] intValue];

            while (i!=j) {

                while (i<j && vot<=[[dataArray objectAtIndex:j] intValue]) j--;

                NSLog(@"j=======%d",j);

  5.             if (i<j) {

  6.                 [dataArray replaceObjectAtIndex:i withObject:[dataArray objectAtIndex:j]];

                    NSLog(@"i=======[dataArray objectAtIndex:%d]=====%@",i,[dataArray objectAtIndex:i]);

  7.                 i++;

  8.             }

                while (i<j && [[dataArray objectAtIndex:i] intValue]<vot) i++;

                if (i<j) {

                    [dataArray replaceObjectAtIndex:j withObject:[dataArrayobjectAtIndex:i]];

  9.                 NSLog(@"j======[dataArray objectAtIndex:%d]=====%@",j,[dataArray objectAtIndex:j]);

  10.                 j--;

  11.             }

  12.         }

  13.         [dataArray replaceObjectAtIndex:i withObject:[NSString stringWithFormat:@"%d",vot]];

  14.         NSLog(@"low:(%d)....high:(%d)....vot:(%d)...%@",lowIndex,highIndex,vot,dataArray);

  15.         [AppDelegate kuaisuMethodTest:dataArray low:lowIndex high:j-1];//前端子序列再排序

  16.         [AppDelegate kuaisuMethodTest:dataArray low:i+1 high:highIndex];//后端子序列再排序

  17.     }

  18.     return dataArray;

  19. }

转载于:https://www.cnblogs.com/guangzhi405/archive/2012/08/13/2636852.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值