在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];
}
本文介绍了一个iOS开发中使用的快速排序算法实现。通过递归方法,该算法能够有效地对NSMutableArray中的整数进行排序。代码详细展示了如何选取基准元素,并通过交换元素来完成分区过程。

被折叠的 条评论
为什么被折叠?



