快速排序Java版本
16lz
2021-01-22
<span style="font-size:18px;">//快速排序
public class QuickSort {
public static void main(String args[]){
int[] a = {4,2,1,6,3,6,0,-5,1,1};
qsort(a,0,a.length-1);
for(int i:a){
System.out.print(i);
}
}
//排序递归方法
public static void qsort(int[] source,int left,int right){
if(left>=right){
return;
}
int a = left;
int b = right;
int temp = source[left];//设置基准数
while(a<b){
//先从右开始向左寻找比数小的
while(source[b]>=temp && a<b){
b--;
}
//再从左开始向右寻找数大的
while(source[a]<=temp && a<b){
a++;
}
//交换两个数
if(a<b){
int t = source[a];
source[a] = source[b];
source[b] = t;
}
}
//寻找完一次开始交换基准数
source[left] = source[a];
source[a] = temp;
//开始递归
qsort(source,left,a-1);
qsort(source,a+1,right);
}
}</span>
<span style="font-size:18px;">结果输出:-5011123466</span>