java快速排序
来源:互联网 发布:2017网络效应判断题 编辑:程序博客网 时间:2024/06/01 07:16
关键点:
1.找出一个关键字
2.根据关键字为基准点,对待排序的数组进行分离 左侧 小于关键字 由此 大于关键字
3.递归排序 (将左边的进行排序 再将右边的进行排序)
public class QuickSort{public static void main(String[] args) {long [] nums = new long[10];for(int i = 0 ; i < 10 ;i++){nums[i] = (long) (Math.random() * 100);}QuickSortSolution.showArr(nums);QuickSortSolution.sort(nums,0,nums.length - 1);QuickSortSolution.showArr(nums);}}class QuickSortSolution{public static void showArr(long [] nums){for(long val : nums){System.out.print(val+"\t");}System.out.println("\n");}//partition array not orderpublic static int partition(long [] nums , int left , int right, long point){int leftPtr = left - 1;int rightPtr = right;while(true){// left pointer moves to the right. find nums[++leftPtr]> point -> while stopwhile(leftPtr < rightPtr && nums[++leftPtr] < point);// right pointer moves to the left. find nums[--rightPtr] < point -> while stopwhile(leftPtr < rightPtr && nums[--rightPtr] > point);// two while all stop operation swap if(leftPtr >= rightPtr){break;}else{long temp = nums[leftPtr];nums[leftPtr] = nums[rightPtr];nums[rightPtr] = temp;}}//long temp = nums[leftPtr];nums[leftPtr] = nums[right];nums[right] = temp;return leftPtr;}public static void sort(long [] nums , int left , int right){if(right - left <= 0){return;}long point = nums[right];//partitionint partition = partition(nums, left , right, point);//for left sortsort(nums,left,partition - 1);//for right sortsort(nums,partition + 1,right);}}
0 0
- 排序-快速排序-Java
- java排序之快速排序
- Java排序算法 快速排序
- 快速排序(java排序)
- java 快速排序,冒泡排序
- 算法:排序----Java快速排序
- 【交换排序】快速排序--Java
- java 插入排序+快速排序
- Java 排序之 快速排序
- java排序之快速排序
- Java排序算法:快速排序
- Java排序-快速排序
- Java排序算法:快速排序
- Java排序算法--》快速排序
- JAVA排序算法---快速排序
- Java 快速排序 归并排序
- Java排序算法--快速排序
- java 冒泡排序、快速排序
- JVM 相关知识整理和学习
- 整数转化为字符串
- Java中日期时间
- [LeetCode]Power of Four/Power of Three/Power of Two(Java)
- mysql 索引和orderby
- java快速排序
- web开发中遇到的导致网页开头空白
- UVA11136 Hoax or what STL 或者 HEAP
- 强势回归!poj 1950
- win10系统登陆提示“你的设备处于脱机状态..“解决方案
- 退役
- Xfermode基本使用
- QLibrary 动态加载外部库文件
- java身份证识别