快速排序算法java实现
时间: 2023-10-23 21:18:45 浏览: 103
以下是快速排序算法的Java实现:
```java
public static void quickSort(int[] arr, int left, int right) {
if (left < right) {
int pivotIndex = partition(arr, left, right);
quickSort(arr, left, pivotIndex - 1);
quickSort(arr, pivotIndex + 1, right);
}
}
private static int partition(int[] arr, int left, int right) {
int pivot = arr[right];
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, right);
return i + 1;
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
主要思路是通过选择一个pivot元素(一般选择最后一个元素),将数组分为两部分,每个部分都小于或大于pivot元素。再递归地对这两个部分进行快速排序。partition方法用于将数组分为两部分,并返回pivot元素的位置。swap方法用于交换数组中的两个元素。
阅读全文