用java写一个快速排序
时间: 2024-03-09 14:19:08 浏览: 12
好的,请看下面的 Java 快速排序代码实现:
```java
public class QuickSort {
// 递归函数
public static void quickSort(int[] arr, int left, int right) {
if (left >= right) {
return;
}
int pivot = arr[left]; // 以左边第一个数作为基准值
int i = left, j = right;
while (i < j) {
// 从右边向左找第一个小于基准值的数
while (i < j && arr[j] >= pivot) {
j--;
}
// 从左边向右找第一个大于基准值的数
while (i < j && arr[i] <= pivot) {
i++;
}
// 如果 i < j,就交换 arr[i] 和 arr[j]
if (i < j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
// 基准值归位
arr[left] = arr[i];
arr[i] = pivot;
// 递归处理左边的子数组
quickSort(arr, left, i - 1);
// 递归处理右边的子数组
quickSort(arr, i + 1, right);
}
public static void main(String[] args) {
int[] arr = {3, 8, 2, 5, 1, 4, 7, 6};
quickSort(arr, 0, arr.length - 1);
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
以上是一段简单的快速排序代码,希望对你有帮助。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)