使用java写一个快速跑徐
时间: 2023-02-08 13:13:51 浏览: 108
我可以提供一个使用 Java 实现的快速排序算法的例子。首先,我们需要定义一个比较函数,来判断两个数的大小关系。然后,我们可以使用递归的方式,每次取一个数作为基准,将小于基准的数放在左边,大于基准的数放在右边。最后,我们把左边和右边的子序列分别再排序一遍即可。
具体实现方式如下:
```
import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int[] nums = {5, 2, 6, 1, 3, 9, 4, 8, 7};
quickSort(nums, 0, nums.length - 1);
System.out.println(Arrays.toString(nums));
}
public static void quickSort(int[] nums, int left, int right) {
if (left < right) {
int pivot = partition(nums, left, right);
quickSort(nums, left, pivot - 1);
quickSort(nums, pivot + 1, right);
}
}
public static int partition(int[] nums, int left, int right) {
int pivot = nums[left];
int i = left + 1;
int j = right;
while (i <= j) {
if (nums[i] <= pivot) {
i++;
} else if (nums[j] > pivot) {
j--;
} else {
swap(nums, i, j);
i++;
j--;
}
}
swap(nums, left, j);
return j;
}
public static void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
```
在上面的代码中,我们使用了两个函数来实现快速排序:quickSort() 函数和 partition() 函数。其中,quickSort() 函数负责递归地排序子序列,partition()
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)