java的快速排序怎么写?
时间: 2023-03-13 07:02:18 浏览: 51
Java的快速排序是一种分治算法,它的基本思想是:在数组中选取一个基准元素,让数组中所有比基准元素小的元素排在基准元素前面,所有比基准元素大的元素排在基准元素后面,然后将基准元素放到它的位置上。Java中的快速排序的实现代码如下:public static void quickSort(int[] arr, int low, int high){
int i,j,temp,t;
if(low>high){
return;
}
i=low;
j=high;
//temp就是基准位
temp = arr[low];
while (i<j) {
//先看右边,依次往左递减
while (temp<=arr[j]&&i<j) {
j--;
}
//再看左边,依次往右递增
while (temp>=arr[i]&&i<j) {
i++;
}
//如果满足条件则交换
if (i<j) {
t = arr[j];
arr[j] = arr[i];
arr[i] = t;
}
}
//最后将基准为与i和j相等位置的数字交换
arr[low] = arr[i];
arr[i] = temp;
//递归调用左半数组
quickSort(arr, low, j-1);
//递归调用右半数组
quickSort(arr, j+1, high);
}