1、sort 函式位於標頭檔案 #include 中,是c++標準庫中的函式。
2、sort 函式原型如下,包含三個引數分別為
void sort (randomaccessiterator first, randomaccessiterator last, compare comp)
;
comp:第三個是排序方法,可以自己設定排序的規則。可以省略該引數,此時預設的是公升序排列。
3、排序的序列是 [ first , last ) ,左閉右開的區間。即不包含最後乙個位址所指的元素
4、 sort 函式的時間複雜度為 o(n
logn
)o(nlogn)
o(nlog
n)1、基本資料型別的排序
#include
#include
#include
#include
using
namespace std;
// 建立排序規則
bool
comp01
(const
int&a,
const
int&b)
intmain()
;int arr=
;// 預設的公升序排列
sort
(v1.
begin()
, v1.
end())
;//按照指定的規則進行降序排列
sort
(v1.
begin()
, v1.
end(
), comp01)
;// 對前四個元素進行排序。arr+4表示從起始位置向偏移4個位置
sort
(arr, arr +4)
; cin.
get();
}
2、自定義資料型別的排序自定義的資料型別進行排序時,必須要指定排序的規則,因為自定義的資料型別可能是復合型別,若不指定排序規則,程式無法知道根據什麼來進行排序
#include
#include
#include
#include
using
namespace std;
class
a string getname()
intgetage()
intgetscore()
private
: string name;
int age;
int score;};
// 建立排序規則:按年齡由大到小排序
bool
comp01
(a x, a y)
// 按分數由低到高排序
bool
comp02
(a x, a y)
void
printvector
(vector v)
cout << endl;
}int
main()
執行結果如下:
【當在類中的使用sort函式時,需要將比較的規則定義成 static 型別的】
sort函式的用法
sort函式的用法 做acm題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl裡面有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或...
sort函式的用法
sort函式包含在標頭檔案 include 中 1 預設的sort函式是按公升序排。sort a,a n 兩個引數分別為待排序陣列的首位址和尾位址,或者可以首尾指標。又如 vector iterator iter1 v.begin vector iterator iter2 v.begin sort...
Sort函式的用法
stl 裡面有個 sort 函式,可以直接對陣列排序,複雜度為 n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳 兩個引數或三個引數 第乙個引數是要排序的 區間首位址 第二個引數是 區間尾位址的下一位址 也就是說,排序的區間是 a,b 簡單來說,有乙個陣列int a 100 要對從a...