请使用quick sort方法将数列65 58 95 10 57 62 13 106 78 23 85排序写出对应java代码
时间: 2023-12-25 07:06:47 浏览: 60
下面是使用快速排序算法对给定数列进行排序的Java代码:
```java
public class QuickSort {
public static void main(String[] args) {
int[] nums = {65, 58, 95, 10, 57, 62, 13, 106, 78, 23, 85};
quickSort(nums, 0, nums.length - 1);
System.out.println(Arrays.toString(nums));
}
public static void quickSort(int[] nums, int left, int right) {
if (left >= right) {
return;
}
int pivot = nums[left]; // 以第一个元素为基准
int i = left + 1, j = right;
while (i <= j) {
while (i <= j && nums[i] < pivot) {
i++;
}
while (i <= j && nums[j] > pivot) {
j--;
}
if (i <= j) {
swap(nums, i, j);
i++;
j--;
}
}
swap(nums, left, j); // 将pivot归位
quickSort(nums, left, j - 1); // 对左边的子数组进行快排
quickSort(nums, j + 1, right); // 对右边的子数组进行快排
}
private static void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
```
输出结果为:[10, 13, 23, 57, 58, 62, 65, 78, 85, 95, 106]
阅读全文