对 {49, 38, 65, 97, 76, 13, 27, 101, 34, 119, 1}进行从小到大的排序,要求使用快速排序法。写出该Java代码
时间: 2023-10-10 10:04:21 浏览: 36
以下是使用快速排序法对数组进行从小到大排序的Java代码:
```java
public class QuickSort {
public static void main(String[] args) {
int[] arr = {49, 38, 65, 97, 76, 13, 27, 101, 34, 119, 1};
quickSort(arr, 0, arr.length - 1);
System.out.println(Arrays.toString(arr));
}
private static void quickSort(int[] arr, int low, int high) {
if (low < high) {
int partitionIndex = partition(arr, low, high); // 计算分区点
quickSort(arr, low, partitionIndex - 1); // 左侧递归排序
quickSort(arr, partitionIndex + 1, high); // 右侧递归排序
}
}
private static int partition(int[] arr, int low, int high) {
int pivot = arr[low]; // 选择第一个元素作为基准值
int i = low, j = high;
while (i < j) {
while (i < j && arr[j] >= pivot) { // 从右往左找到第一个小于基准值的元素
j--;
}
if (i < j) {
arr[i++] = arr[j]; // 将该元素移到左侧
}
while (i < j && arr[i] <= pivot) { // 从左往右找到第一个大于基准值的元素
i++;
}
if (i < j) {
arr[j--] = arr[i]; // 将该元素移到右侧
}
}
arr[i] = pivot; // 将基准值放回中间位置
return i;
}
}
```
输出结果为:
```
[1, 13, 27, 34, 38, 49, 65, 76, 97, 101, 119]
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)