使用java实现一个快速排序
时间: 2023-10-23 16:15:16 浏览: 45
以下是使用Java实现快速排序的示例代码:
```
public class QuickSort {
public static void sort(int[] array) {
if (array == null || array.length == 0) {
return;
}
quickSort(array, 0, array.length - 1);
}
private static void quickSort(int[] array, int left, int right) {
if (left >= right) {
return;
}
int pivot = array[(left + right) / 2];
int i = left;
int j = right;
while (i <= j) {
while (array[i] < pivot) {
i++;
}
while (array[j] > pivot) {
j--;
}
if (i <= j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
i++;
j--;
}
}
if (left < j) {
quickSort(array, left, j);
}
if (right > i) {
quickSort(array, i, right);
}
}
}
```
其中,sort()方法是对外暴露的排序方法,它调用了quickSort()方法来完成实际的排序操作。在quickSort()方法中,首先选择pivot值(一般选择数组的中间值),然后将数组分为两部分,一部分是小于pivot值的元素,另一部分是大于pivot值的元素。然后对这两部分分别递归调用quickSort()方法,直到所有元素都有序排列。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)