java实现快速排序算法

来源:互联网 发布:伊本白图泰 知乎 编辑:程序博客网 时间:2024/05/19 11:48

java实现快速排序算法。

package myDDmo;/** * java实现快速排序算法 * @author trust the process * */public class Demo {public static void main(String[] args) {System.out.println("======java实现快速排序算法======");//创建一个数组int[] a = {37,7,44,48,6,12,69,51};//对该数组进行快速排序quick_sort(a,0,a.length-1);//打印排序后的数组for(int i=0;i<a.length;i++){System.out.print(a[i]+"\t");}}public static void quick_sort(int[] array,int begin,int end){if (begin >= end) {//如果数组的长度为1,则停止比较return;}int i = begin;//数组第一个元素int j = end;//数组最后一个元素int key = array[i];//每次要比较的标准数boolean flag = true;//用于控制判断过程是否继续进行while(i != j){if(flag == true){if (key > array[j]) {change(array, i, j);//交换元素flag = false;}else {j--;}}else {if (array[i] > key) {change(array, i, j);//交换元素flag = true;}else {i++;}}}//被分隔的两部分,用同样的方法继续比较quick_sort(array, j+1, end);quick_sort(array, 0, j-1);}public static void change(int[] array,int m,int n){int temp = 0; //临时变量,用于交换数组元素temp = array[m];array[m] = array[n];array[n] = temp;}}
结果如下:



0 0
原创粉丝点击