快速排序 模板

2021-08-19 19:14:27 字數 1078 閱讀 1598

小哼買書

標籤:字串

模擬排序

字串處理

詳情:小哼的學校要建立乙個圖書角,老師派小哼去找一些同學做調查,看看同學們都喜歡讀哪些書。小哼讓每個同學寫出乙個自己最想讀的書的isbn號(你知道嗎?每本書都有唯一的isbn號,不信話你去找本書翻到背面看看)。當然有一些好書會有很多同學都喜歡,這樣就會收集到很多重複的isbn號。小哼需要去掉其中重複的isbn號,即每個isbn號只保留乙個,也就說同樣的書只買一本(學校真是夠摳門的)。然後再把這些isbn號從小到大排序,小哼將按照排序好的isbn號去書店去買書。請你協助小哼完成「去重」與「排序」的工作。

輸入格式:

輸入有2行,第1行為乙個正整數,表示有n個同學參與調查(n<=100)。第2行有n個用空格隔開的正整數,為每本圖書的isbn號(假設圖書的isbn號在1~1000之間)。
輸出格式:

輸出也是2行,第1行為乙個正整數k,表示需要買多少本書。第2行為k個用空格隔開的正整數,為從小到大已排好序的需要購買的圖書isbn號。
改編自全國青少年資訊學奧林匹克聯賽(noip2006)普及組第一題《明明的隨機數》。

限制:每個測試點1秒

樣例:輸入

10

20 40 32 67 40 20 89 300 400 15

輸出815 20 32 40 67 89 300 400

題解1:

#include #include #include #include #include #include #include #include using namespace std;

void quicksort(int a,int l,int r)else l++;//相同不作處理

}swap(a[more],a[r]);

return l;

}void quicksort(int a,int l,int r){//快速排序---------------------------------------模板2

int p=partition(a,l,r);//取得劃分值的位置

if(l

排序 快速排序模板

以某個記錄 元素 為界 該記錄稱為支點或樞軸 將待排序列分成兩部分 一部分 所有記錄的關鍵字大於等於支點記錄的關鍵字 另一部分 所有記錄的關鍵字小於支點記錄的關鍵字 演算法描述 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...