话不多说,直接上代码:
public class kuaisu {
public static void main(String[] args) {
//定义一个数组
int[] arr= {22,31,-8,5,77,3,49,-43};
//测试
sort(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
}
public static void sort(int[] arr,int low,int high) {
if(low>=high) {
return;
}
//开始、结尾
int i=low;
int j=high;
//基准
int key=arr[i];
while(i<j) {
while(arr[j]>=key&&i<j) {
j--;
}
if(i<j) {
int t;
t=arr[j];
arr[j]=arr[i];
arr[i]=t;
}
while(arr[i]<=key&&i<j) {
i++;
}
if(i<j) {
int t;
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
//对基准左边进行排序
sort(arr,low,i-1);
//对基准右边进行排序
sort(arr,i+1,high);
}
}