java实现快速排序:
public class QuickSort { public static void sort(int [] array , int left ,int right) { int i,j,tValue,bValue ; if(left>right) { return ; } i=left; j=right; //基数 bValue=array[left]; while (i!=j) { //先从右侧--移动,右侧放置大于基数的元素 while (array[j]>=bValue&&i<j) { j--; } //左侧++移动,左侧放置小于基数的元素 while(array[i]<=bValue&&i<j) { i++; } if(i<j) { tValue=array[i]; array[i]=array[j]; array[j]=tValue; } } //当i和j移动到相同位置时,交换基数 array[left]=array[i]; array[i]=bValue; //递归执行 sort(array,left,i-1); sort(array,i+1,right); } public static void main(String[] args) { int a[] ={6,1,2,7,9,3,4,5,10,8}; sort(a,0,a.length-1); for(int v: a){ System.err.print(v+" "); } } }
输出结果:
1 2 3 4 5 6 7 8 9 10
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/13824.html