java快速排序
2016-03-30 23:48
405 查看
package com.han.sort; //由小到大顺序排列 public class MyQuickSort { public static void main(String[] args) { int arr[]=new int[]{35,100,40,60,87,43,13,45,12,0}; //排序前 print(arr); MySort(arr,0,arr.length-1); System.out.println("========"); print(arr); } private static void print(int[] arr) { for (int i : arr) { System.out.print(i+" "); } System.out.println(); } static void MySort(int[] arr,int begin,int end){ if(begin>=end){ return;//如果左侧角标大于右侧角标则直接返回 } int pivot=arr[begin];//取第一个数作为中间数 int left=begin; int right=end; while(left!=right){ //找出右侧第一个小于中间数的值 while(left<right&&arr[right]>=pivot)right--; if(left<right){ arr[left]=arr[right]; } System.out.println("右侧值换到左侧"); print(arr); while(left<right&&arr[left]<=pivot)left++; if(left<right){ arr[right]=arr[left]; } System.out.println("左侧侧值换到右侧"); print(arr); } arr[left]=pivot; print(arr); if(left>begin)MySort(arr,begin,left-1); if(right<end)MySort(arr,left+1,end); } }
相关文章推荐
- SpringMVC中以is开头的字段名返回JSON问题
- Java 数据类型
- Spring 与 MyBatis 的整合
- Java基础系列9:BigInteger类和BigDecimal类
- eclipse自动补全的设置
- Java实现排序算法2:堆排序
- JAVAEE学习笔记
- 一个简单的Struts2应用
- Spring框架AOP
- Java实现排序算法1:5种易理解的算法
- [leetcode-332]Reconstruct Itinerary(java)
- Java设计模式之单例模式
- Spring JDBC学习笔记(2):JdbcTemplate的增强版NamedParameterJdbcTemplate
- 将Windows文件路径转换为java中可识别的文件路径
- Java泛型深入理解
- Java 异常
- java中Comparator接口
- java 垃圾回收机制
- java SE基础(Map接口及其实现)
- java.lang.OutOfMemoryError: PermGen space及其解决方法