用java写快速排序算法
时间: 2023-07-04 22:29:06 浏览: 106
下面是用Java实现快速排序算法的示例代码:
```java
public class QuickSort {
public static void quickSort(int[] nums, int left, int right) {
if (left >= right) {
return;
}
int pivot = partition(nums, left, right);
quickSort(nums, left, pivot - 1);
quickSort(nums, pivot + 1, right);
}
private static int partition(int[] nums, int left, int right) {
int pivot = nums[left];
while (left < right) {
while (left < right && nums[right] >= pivot) {
right--;
}
nums[left] = nums[right];
while (left < right && nums[left] <= pivot) {
left++;
}
nums[right] = nums[left];
}
nums[left] = pivot;
return left;
}
public static void main(String[] args) {
int[] nums = {3, 2, 1, 5, 4};
quickSort(nums, 0, nums.length - 1);
System.out.println(Arrays.toString(nums));
}
}
```
在这个示例中,我们使用了递归的方法实现快速排序。首先我们选取数组的第一个元素作为基准元素,然后通过 partition 方法将数组分成两部分,左边的元素小于等于基准元素,右边的元素大于基准元素。然后对左右两个子数组分别进行快速排序,直到数组已经有序。最后输出排序后的结果。
阅读全文