模板庫排序函式呼叫方法

2021-08-28 16:33:05 字數 851 閱讀 2783

#include#include#include#include// qsort head file

#include// sort head file

using namespace std;

int cmp(const void *a, const void *b)

bool compare(int a, int b)

int main()

//3 輸出排序前數列

for (int i = 0; i < n; i++)

cout << endl;

cout << endl;

//4 模板庫快速排序

qsort(a, n, sizeof(a[0]), cmp);

sort(a, a+n, compare);

//5 輸出排序後數列

for (int i = 0; i < n; i++)

cout << endl;

return 0;

}// 排序總結:

// 時間複雜度:插入排序、氣泡排序、選擇排序:o(n2)

// 時間複雜度:快速排序、堆排序、歸併排序: o(nlog2n)

// 時間複雜度:桶排序: o(n)

// 適用場景:

// 快速排序:是目前基於比較的內部排序中最好的方法,當待排序的關鍵字是隨機分布時,快速排序的平均時間最短。

// 桶排序: 當待排序的記錄的關鍵字在乙個明顯有限範圍內時,且空間允許,建議使用桶排序。

// 氣泡排序:當參加排序的序列區域性或整體有序時,能達到較快的排序速度。

// 選擇排序:當 n 較小,選擇排序最容易理解。

排序函式模板

檔名稱 text.cpp 完成日期 2015年6月15日 版本號 v1.0 問題描述 已知void sort int a,int size void sort double a,int size 是乙個函式模板的兩個例項,其功 能是將陣列a中的前size個元素按從 小到大順序排列。試設計這個函式模板...

c 模板排序函式

模板函式 對陣列arr進行選擇排序 選擇排序 template void selsectionsort t arr int n 插入排序 改進 templatevoid insertionsort t arr int n 氣泡排序改進 已經排好序的只比較一遍 templatevoid bubbers...

C 模板 32 普通函式和模板函式呼叫規則

1.如果普通函式和模板函式都可以呼叫,優先呼叫普通函式。下面 普通函式和模板函式名稱一樣,傳入引數也一致,執行 是呼叫模板函式還是普通函式 include using namespace std 模板函式 template void myadd t a,t b 普通函式 void myadd int...