问题描述
快速排序是最经常使用的一种排序方式,对于给定的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题解离线版❤❤