生成快速排序Java代码
时间: 2023-10-25 21:10:12 浏览: 85
快速排序java代码
以下是Java中实现快速排序的代码:
```
public class QuickSort {
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);
}
}
public 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;
}
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 9, 6};
quickSort(arr, 0, arr.length - 1);
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
在上面的代码中,我们定义了一个`quickSort`方法,它接受一个整数数组`arr`,以及要排序的范围`left`和`right`。在`quickSort`方法中,我们首先判断左右边界是否合法,如果合法,我们就找到一个枢轴点,然后递归地对左右两个区间进行排序。在`partition`方法中,我们使用右边界的元素作为枢轴点,然后从左边界开始遍历数组,如果找到一个元素小于枢轴点,我们就把它和`i`指向的位置交换。最后,我们再把枢轴点换到`i+1`的位置。最后,在`main`方法中,我们测试了一下我们的快速排序算法,打印了排序后的结果。
阅读全文