快速排序
package my0410; public class QuickSort { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int data[]={2,2,4,1,4}; Qsort(data); for(int i=0;i<data.length;i++){ System.out.println(data[i]); } } public static void Qsort(int [] data){ quickSort(data,0,data.length-1); } public static void quickSort(int data[],int i,int j){ int privot; if(i<j){ privot=partition(data,i,j); quickSort(data,i,privot-1); quickSort(data,privot+1,j); } } public static void swap(int []data,int a,int b){ int temp=data[a]; data[a]=data[b]; data[b]=temp; } public static int partition(int []data,int i,int j){ int index=(i+j)/2; swap(data,index,i); int privot=data[i]; while(i<j){ while(i<j&&data[j]>=privot)--j; data[i]=data[j]; while(i<j&&data[i]<=privot)++i; data[j]=data[i]; } data[i]=privot; return i; } }