1. 程式人生 > >洛谷——P1177 【模板】快速排序

洛谷——P1177 【模板】快速排序

排序 資料 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 【模板】快速排序