洛谷——P1177 【模板】快速排序
阿新 • • 發佈:2017-12-03
排序 資料 radius 同學 n) 信息學 tchar mes 輸出格式
P1177 【模板】快速排序、
題目描述
利用快速排序算法將讀入的N個數從小到大排序後輸出。
快速排序是信息學競賽的必備算法之一。對於快速排序不是很了解的同學可以自行上網查詢相關資料,掌握後獨立完成。(C++選手請不要試圖使用STL,雖然你可以使用sort一遍過,但是你並沒有掌握快速排序算法的精髓。)
輸入輸出格式
輸入格式:
輸入文件sort.in的第1行為一個正整數N,第2行包含N個空格隔開的正整數a[i],為你需要進行排序的數,數據保證了A[i]不超過1000000000。
輸出格式:
輸出文件sort.out將給定的N個數從小到大輸出,數之間空格隔開,行末換行且無空格。
輸入輸出樣例
輸入樣例#1: 復制5 4 2 4 5 1輸出樣例#1: 復制
1 2 4 4 5
說明
對於20%的數據,有N≤1000;
對於100%的數據,有N≤100000。
(⊙o⊙)…還是sort比較好用、、
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 100010 using namespace std; int n,a[N]; int read() {int x=0,f=1; char ch=getchar(); while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();} while(ch>=‘0‘&&ch<=‘9‘) x=x*10+ch-‘0‘,ch=getchar(); return x*f; } int main() { n=read(); for(int i=1;i<=n;i++) a[i]=read(); sort(a+1,a+1+n); for(int i=1;i<=n;i++) printf("%d ",a[i]); return 0; }
洛谷——P1177 【模板】快速排序