快速排序java代码
时间: 2023-08-25 15:13:17 浏览: 97
下面是一个示例的Java代码实现了快速排序算法:
```java
public class QuickSort {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 3, 6, 8, 7, 4};
quickSort(arr, 0, arr.length - 1);
System.out.println("排序结果:");
for (int num : arr) {
System.out.print(num + " ");
}
}
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[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j] < pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, high);
return i + 1;
}
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
这段代码实现了一个快速排序算法,通过`quickSort()`方法进行递归调用,在`partition()`方法中选择一个基准值(通常选择数组的最后一个元素),将数组划分为两个部分,并将小于基准值的元素放在左侧,大于基准值的元素放在右侧。然后再对左右两部分进行递归排序,直到完成整个排序过程。
以上代码只是一个简单的示例,仅供参考。在实际使用中,可能需要考虑更多的边界情况和性能优化。
阅读全文