C sort函式用法

2021-06-22 15:33:28 字數 1215 閱讀 8259

from:

最近演算法作業經常需要排序。偶是乙個很懶的人,於是一直用c++的sort進行排序~~~不少同志對此心存疑慮,所以今天就寫一寫sort的用法。

宣告:此用法是從某大牛的程式中看到的,其實偶只是拿來用,不知所以然,飄走~~~~~

msdn中的定義:

template

voidsort(ranit first, ranit last); //--> 1)

template

voidsort(ranit first, ranit last, pred pr); //--> 2)

標頭檔案:

#include

using namespace std;

1.預設的sort函式是按公升序排。對應於1)

sort(a,a+n);   //兩個引數分別為待排序陣列的首位址和尾位址

2.可以自己寫乙個cmp函式,按特定意圖進行排序。對應於2)

例如:int cmp( const int &a, const int &b )

sort(a,a+n,cmp);

是對陣列a降序排序

又如:int cmp( const point &a, const point &b )

else

return 0;

}sort(a,a+n,cmp);

是先按x公升序排序,若x值相等則按y公升序排

與此類似的還有c中的qsort,以下同附上qsort的使用方法:

#include

格式 qsort(array_name,data_number,sizeof(data_type),compare_function_name)       (void*)bsearch (pointer_to_key_word,array_name,find_number,

sizeof(data_type),compare_function_name)

e.g.

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

qsort(data,n,sizeof(int),cmp);        // 對int型陣列進行快速排序(非降序排列)

p=(int*)bsearch(&a,data,n,sizeof(int),cmp);

以上。希望對各位有所幫助。

ps:fjnu oj上是禁止使用qsort滴

C sort 函式用法

msdn中的定義 template voidsort ranit first,ranit last 1 template voidsort ranit first,ranit last,pred pr 2 標頭檔案 include using namespace std 1.預設的sort函式是按公...

C sort 函式用法

msdn中的定義 template voidsort ranit first,ranit last 1 template voidsort ranit first,ranit last,pred pr 2 標頭檔案 include using namespace std 1.預設的sort函式是按公...

C sort 函式用法

msdn中的定義 template voidsort ranit first,ranit last 1 template voidsort ranit first,ranit last,pred pr 2 標頭檔案 include using namespace std 1.預設的sort函式是按公...