快速排序
来源:互联网 发布:mac终端bash 编辑:程序博客网 时间:2024/06/06 12:50
public void quicksort(int[] arr, int start, int end) {int i = start;int j = end;int pivot = arr[start];while(i<j){while (i<j && arr[i] < pivot) {i++;}while (i<j && arr[j] > pivot ){j--;}if(i < j){int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}}if(start<j){quicksort(arr, start, j);}if(i+1<end){quicksort(arr, i+1, end);}}
时间复杂度:O(NlogN)
但是以上的算法,在有重复数据的时候会报错,这个怎么解决呢?
都说快速排序对小数组没有优势,为什么呢?
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 深入探讨 Java 类加载器【转】
- 多线程实现
- iOS开发中的多线程的GCD用法
- 大神们的网站
- getline()的使用详解
- 快速排序
- POJ--3723---Conscription---最大生成树
- 【bzoj1797】[Ahoi2009]Mincut 最小割 最小割的可行边与必须边
- 【慕课笔记】3-1 位运算
- 3.redis高并发
- 消费者监听JMS(二)
- guava学习笔记-集合
- [ZOJ1654]Place the Robots 做题笔记
- javascript、js计算两个日期之间的天数