Acwing 785 快速排序

2021-10-09 11:54:01 字數 627 閱讀 9256

給定你乙個長度為n的整數數列。

請你使用快速排序對這個數列按照從小到大進行排序。

並將排好序的數列按順序輸出。

輸入格式

輸入共兩行,第一行包含整數 n。

第二行包含 n 個整數(所有整數均在1~109109範圍內),表示整個數列。

輸出格式

輸出共一行,包含 n 個整數,表示排好序的數列。

資料範圍

1≤n≤1000001≤n≤100000

輸入樣例:

5

3 1 2 4 5

輸出樣例:

1 2 3 4 5
#includeusing namespace std;

const int n=1e6+10;

int n;

int mm[n];

void quick_sort(int mm,int l,int r)

{ if(l>=r) return;

int x=mm[(l+r+1)/2],i=l-1,j=r+1;

while(ix);

if(i注:看不懂過程可以私聊博主

快速排序 Acwing785 快速排序

快排最壞情況為 o n2 本題若遇到最壞情況會超時,故我們需要優化快排,每次取中間的數,而不是取邊界的數 最壞情況分析 序列已經有序 每次取左區間的數進行快排,每次呼叫函式遍歷r l次,呼叫函式次數為n次,時間複雜度o n2 每次取中間的數進行快排,每次呼叫函式遍歷r l次,呼叫函式次數為logn次...

AcWing 785 快速排序(C 演算法)

1 題目 來自於acwing 給定你乙個長度為n的整數數列。請你使用快速排序對這個數列按照從小到大進行排序。並將排好序的數列按順序輸出。輸入格式 輸入共兩行,第一行包含整數 n。第二行包含 n 個整數 所有整數均在1 109範圍內 表示整個數列。輸出格式 輸出共一行,包含 n 個整數,表示排好序的數...

快排 AcWing785 快速排序

給定你乙個長度為n的整數數列。請你使用快速排序對這個數列按照從小到大進行排序。並將排好序的數列按順序輸出。輸入格式 輸入共兩行,第一行包含整數n。第二行包含n個整數 所有整數均在1 109範圍內 表示整個數列。輸出格式 輸出共一行,包含n個整數,表示排好序的數列。資料範圍 1 n 100000輸入樣...