C C 中排序的庫函式sort和qsort

2021-07-29 14:25:14 字數 1099 閱讀 6221

1.sort   必須新增標頭檔案#include 

sort屬於標準模板庫,只適用於c++,c語言不支援.

#include#include using namespace std;

int main()

; sort(a, a + sizeof(a) / sizeof(a[0]));

for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

return 0;

}

以上預設的是公升序,要自己設定公升序和降序:

#include#include using namespace std;

bool compare(int a, int b)

int main()

; sort(a, a + sizeof(a) / sizeof(a[0]), compare);

for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

return 0;

}

2.qsort 用於c語言,標頭檔案是#include

void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

1 待排序

陣列首位址

2 陣列中待排序元素數量

3 各元素的占用空間大小

4 指向函式的

指標,用於確定排序的順序

#include#includeint comp(const void *a,const void *b)

int main()

; qsort(a, sizeof(a) / sizeof(a[0]),sizeof(int),comp);

for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

printf("/n");

}

排序庫函式sort 和qsort

sort是stl中提供的演算法,標頭檔案為 include以及using namespace std 函式原型如下 template void sort randomaccessiterator first,randomaccessiterator last template void sort r...

c c 中庫函式sort的用法

要呼叫sort函式需包含標頭檔案,可以直接對陣列進行排序,時間複雜度為o nlogn 這個函式可以傳2個或3個引數,第乙個引數是待排序的首位址,第二個引數是區間尾位址的下一位址。也就是說,排序的區間為 a,b 對於a n 0.n 1 只需寫sort a,a n 即可實現對a 0 a n 1 的排序,...

C 標準庫中排序函式sort的用法

一 為什麼要用c 標準庫里的排序函式 sort 函式是c 一種排序方法之一,學會了這種方法也打消我學習c 以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為n log2 n 執行效率較高!二 c 標準庫里的排序函式的使用方法 i sort函式...