Java排序算法——快速排序
2016-04-10 16:15
465 查看
import java.util.Arrays; //================================================= // File Name : Arrays_Quick //------------------------------------------------------------------------------ // Author : Common //类名:Arrays_Quick //属性: //方法: class Arrays_Quick{ private int[] arrays; private int curNum; public Arrays_Quick(int max) { //建立一个max长度的空数组 super(); arrays = new int[max]; curNum = 0; } public void insert(int value){ //往空的数组里面增加元素 arrays[curNum] = value; curNum++; } public void display(){ //显示数组 System.out.println(Arrays.toString(arrays)); } public void QuickSort(){ int i=0; int j=arrays.length-1; recQuickSort(i, j); } public void recQuickSort(int i,int j){ // 结束条件 if(i == j ) return; int key = arrays[i]; int stepi = i; // 记录开始位置 int stepj = j; // 记录结束位置 while(j > i){ // j <<-------------- 向前查找 if(arrays[j] >= key){ j--; }else{ arrays[i] = arrays[j]; //i++ ------------>>向后查找 while(j > ++i){ if(arrays[i] > key){ arrays[j] = arrays[i]; break; } } } } // 如果第一个取出的 key 是最小的数 if(stepi == i){ recQuickSort(++i, stepj); return; } // 最后一个空位留给 key arrays[i] = key; // 递归 recQuickSort(stepi, i); recQuickSort(j, stepj); } } //主类 //Function : QuickSort public class QuickSort { public static void main(String[] args) { // TODO 自动生成的方法存根 int maxSize = 5; Arrays_Quick arrays_demo = new Arrays_Quick(maxSize); arrays_demo.insert(4); arrays_demo.insert(5); arrays_demo.insert(3); arrays_demo.insert(1); arrays_demo.insert(2); arrays_demo.display(); arrays_demo.QuickSort(); arrays_demo.display(); } }
相关文章推荐
- java保留两位小数
- Java小结1
- Java并发学习之十九——线程同步工具之Phaser
- SSH+ maven整合:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- Java 中的 static 使用之静态方法
- 20145230《java程序设计》第6周学习总结
- 20145221 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- JAVA并发的性能调整
- Spring、mybaits整合
- openjdk编译和调试
- Java的Arrays类
- BitTorrent协议java实现分析
- 20145231 《Java程序设计》第一次实验
- Java 中的 static 使用之静态变量
- Java - 待归类
- 找找 Spring Event 源码中各种设计模式的使用
- 20145240 《Java程序设计》第一次实验报告
- JAVAssist---动态改动注解
- maven+srping+springmvc+mybatis的环境搭建的每一步和代码
- myeclipse无法创建jsp页面