Java实现利用快速排序算法将读入的 n 个数从小到大排序后输出
时间: 2023-07-11 14:39:48 浏览: 98
tpn.rar_TPN_topN
好的,下面是 Java 实现快速排序算法的代码:
```java
import java.util.Scanner;
public class QuickSort {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
quickSort(nums, 0, n - 1);
for (int num : nums) {
System.out.print(num + " ");
}
}
private static void quickSort(int[] nums, int left, int right) {
if (left >= right) {
return;
}
int i = left, j = right;
int pivot = nums[left];
while (i < j) {
while (i < j && nums[j] >= pivot) {
j--;
}
nums[i] = nums[j];
while (i < j && nums[i] <= pivot) {
i++;
}
nums[j] = nums[i];
}
nums[i] = pivot;
quickSort(nums, left, i - 1);
quickSort(nums, i + 1, right);
}
}
```
这段代码实现了快速排序算法,首先读入 n 个数,然后调用 quickSort 方法进行排序,最后输出排序后的结果。其中,quickSort 方法实现了快速排序算法,它的核心思想是选取一个基准数(这里选取的是第一个数),然后将数组分为两部分,一部分比基准数小,一部分比基准数大,然后递归地对这两部分进行排序。这里的实现采用了双指针法,具体可以看代码注释。
阅读全文