sort 函式的用法

2021-10-03 16:01:15 字數 1737 閱讀 3922

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...