快速排序

来源:互联网 发布:photoshop cc mac微盘 编辑:程序博客网 时间:2024/06/05 18:08

思路可参考:http://developer.51cto.com/art/201403/430986.htm

下面是我的JAVA实现:

package com.mtt.sort;public class 快速排序 {/** * 快速排序思路:http://developer.51cto.com/art/201403/430986.htm */public static void quickSort(int[] array,int left,int right){if(left>=right) return;int basic=array[left];//基准数int i=left,j=right;//左右哨兵int tmp;//用来交换的临时变量while(i<j){while(i<j&&array[j]>=basic){j--;}while(i<j&&array[i]<=basic){i++;}if(i<j){tmp=array[i];array[i]=array[j];array[j]=tmp;}}//哨兵i和哨兵j碰头后将基准数和i置换array[left]=array[i];array[i]=basic;quickSort(array,left,i-1);quickSort(array,i+1,right);}public static void printArray(int[] array){for(int tmp:array){System.out.print(tmp+" ");}}public static void main(String[] args) {// TODO Auto-generated method stubint[] array={5,1,3,2,7,9,10,34};quickSort(array,0,array.length-1);printArray(array);}}


0 0
原创粉丝点击