java取第一个值的快速排序快速排序
时间: 2023-11-01 22:59:28 浏览: 70
快速排序是一种高效的排序算法,其思想是通过选择一个基准点,将数组划分为两部分,一部分小于等于基准点,另一部分大于等于基准点。然后对这两部分分别进行递归排序,最终得到有序数组。
要实现java取第一个值的快速排序,你可以使用以下代码作为参考:
```java
public class QuickSort {
public static void quickSort(int[] arr, int low, int high) {
if (low < high) {
int pivot = partition(arr, low, high);
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
}
}
public static int partition(int[] arr, int low, int high) {
int pivot = arr[low];
int i = low + 1;
int j = high;
while (i <= j) {
while (i <= j && arr[i] <= pivot) {
i++;
}
while (i <= j && arr[j] >= pivot) {
j--;
}
if (i < j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[low];
arr[low] = arr[j];
arr[j] = temp;
return j;
}
public static void main(String[] args) {
int[] arr = {6, 1, 2, 7, 9, 3, 4, 5, 10, 8};
quickSort(arr, 0, arr.length - 1);
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
以上代码实现了取第一个元素为基准点的快速排序算法。你可以将待排序的数组传入quickSort方法中,指定初始的low和high值(low为数组的起始索引,high为数组的结束索引)。
阅读全文