问题描述
快速排序是最经常使用的一种排序方式,对于给定的n个数组成的一个数组,请使用快速排序对其进行排序。
输入格式
第一行一个数N。
输出格式
共N行,每行一个数,表示所求序列。
样例输入
5
1
4
2
3
样例输出
1
2
3
4
数据规模和约定
共10组数据。
对100%的数据,N<=10^5,所有数均为非负数且在int范围内。
package algo59;
// 自己写的快速排序在遇到一个极端情况,会出现超时
import java.io.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(reader.readLine());
num = new int[n];
for (int i = 0; i < n; i++) {
num[i] = Integer.parseInt(reader.readLine());
}
reader.close();
// quickSort();
Arrays.sort(num);
for (int i = 0; i < num.length; i++) {
System.out.println(num[i]);
}
}
private static int[] num;
// private static void quickSort() {
// quickSort(0, num.length - 1);
// }
//
// private static void quickSort(int l, int r) {
// if (l < r) {
// int pivot = partion(l, r);
// quickSort(l, pivot - 1);
// quickSort(pivot + 1, r);
// }
// }
//
// private static int partion(int l, int r) {
// swap(l, (l + r) / 2);
// int pivot = l;
// while (true) {
// while (l <= r && num[l] < num[pivot]) {
// l++;
// }
// while (l <= r && num[r] > num[pivot]) {
// r--;
// }
//
// if (l < r) {
// swap(l, r);
// l++;
// r--;
// } else {
// break;
// }
// }
// swap(r, pivot);
// return r;
// }
//
// private static void swap(int i, int j) {
// int temp = num[i];
// num[i] = num[j];
// num[j] = temp;
// }
}
❤❤点击这里 -> 订阅PAT、蓝桥杯、GPLT天梯赛、LeetCode题解离线版❤❤