1.在viewDidLoad 里面加入以下两行代码,就可以得到结果
NSMutableArray*arr = [[NSMutableArrayalloc]initWithArray:@[@16,@1,@2,@9,@7,@12,@5,@3,@8,@13,@10]];
[self quickSortArray:arr withLeftIndex:0 andRightIndex:arr.count-1];
1.算法逻辑:
随机找出一个数,可以随机取,也可以取固定位置,一般是取第一个或最后一个称为基准,然后就是比基准小的在左边,比基准大的放到右边,就是和基准进行交换,这样交换完左边都是比基准小的,右边都是比较基准大的,这样就将一个数组分成了两个子数组,然后再按照同样的方法把子数组再分成更小的子数组,直到不能分解为止。
2.时间复杂度,最好情况O(n),最坏O(nlogn);
后语:下一片冒泡排序。