快速排序Java实现
来源:互联网 发布:网络主播自慰直播视频 编辑:程序博客网 时间:2024/06/14 02:24
这里有个问题需要说明,由于快排用到里递归调用,递归调用栈需要额外的空间,所以快排的空间复杂度不是O(1),而是O(log n)
public class Main { public static void main(String[] args) { int[] arr = {3,4,2,6,4,8,4}; quickSort(arr, 0, arr.length - 1); for(int i = 0; i < arr.length; i++){ System.out.println(arr[i]); } } public static void quickSort(int[] arr, int begin, int end){ if(arr == null || arr.length == 0 || begin >= end){ return; } int left = begin; int right = end; int target = arr[left]; while(left < right){ while(left < right && arr[right] >= target){ right--; } if(left < right){ arr[left] = arr[right]; left++; } while(left < right && arr[left] <= target){ left++; } if(left < right){ arr[right] = arr[left]; right--; } } arr[left] = target; int index = left; quickSort(arr, begin, index - 1); quickSort(arr, index + 1, end); }}
0 0
- java实现快速排序
- 快速排序Java实现
- 快速排序java实现
- 快速排序JAVA实现
- Java实现快速排序
- 快速排序--Java实现
- 快速排序java实现
- java实现快速排序
- java实现快速排序
- Java实现快速排序
- Java实现快速排序
- 快速排序java实现
- 快速排序Java实现
- Java实现快速排序
- java快速排序实现
- JAVA实现快速排序
- java实现快速排序
- java 实现快速排序
- 拆分n个符号的方法
- Windows::Rtl::ObjAttrFromName
- Intent属性详解一 component属性
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
- js误区:方法变成字符串了??
- 快速排序Java实现
- 199 c 通过函数名字符串调用函数
- 命令模式
- unity3d--杂记
- MySQL 触发器简单实例
- 红黑树的实现小结
- Android基本控件——Toast
- 四种常用的函数调用惯例
- POJ题目分类