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