模板 快速排序

2022-10-10 17:39:15 字數 634 閱讀 6735

利用快速排序演算法將讀入的 n 個數從小到大排序後輸出。

快速排序是資訊學競賽的必備演算法之一。對於快速排序不是很了解的同學可以自行上網查詢相關資料,掌握後獨立完成。

第 1行為乙個正整數 n,第 2 行包含 n個空格隔開的正整數ai​。

將給定的 n個數從小到大輸出,數之間空格隔開,行末換行且無空格。

輸入 #1複製

5

4 2 4 5 1

輸出 #1複製

1 2 4 4 5
題目要求我們用快速排序,快速排序的基本思路是:通過一次排序將要排序的資料分成兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,然後

再按此方法對這兩部分資料分別進行快速排序,直到有序。

#include

using namespace std;

int n,a[1000001];

int quick_sort(int l,int r)

}while(i<=j);

if(l>n;

for(int i=1;i<=n;i++) cin>>a[i];

quick_sort(1,n);

for(int i=1;i<=n;i++) cout

}

排序 快速排序模板

以某個記錄 元素 為界 該記錄稱為支點或樞軸 將待排序列分成兩部分 一部分 所有記錄的關鍵字大於等於支點記錄的關鍵字 另一部分 所有記錄的關鍵字小於支點記錄的關鍵字 演算法描述 1 任取待排序記錄序列中的某個記錄 例如取第乙個記錄 作為基準 樞 按照該記錄的關鍵字大小,將整個記錄序列劃分為左右兩個子...

快速排序 模板

說明 經過本函式處理後,陣列itemarray中元素滿足prulefunc itemarray itemr itemarray iteml 為true,其中itemr iteml template t void quicksort itemarray,int iteml,int itemr,bool...

模板 快速排序

排序演算法可以說是從語言步入演算法的第一道坎了,其中最有代表性的莫過於快排。這裡模擬庫函式自帶sort的呼叫方式,寫起來相當自然清爽。樸素快速排序演算法的複雜度最好為o nlogn 最壞時能達到o n include include include include include include d...