自定義結構或類的比較

2022-02-24 13:37:46 字數 739 閱讀 4731

定義普通函式:

1 #include 2 #include 3

using

namespace

std;

4struct

act;

9bool lessact(const act& a1,const act &a2)

12int

main()

定義成員函式:

在函式內部定義《或者》,再在排序時候使用less<>(),或者greater<>()。

如果是greater,要注意標頭檔案:#include

1 #include2 #include3 #include 4

using

namespace

std;56

struct

thing713

bool

operator>(const thing& other)const

16};

1718

...19 sort(t, t + n, greater());

2021 ...

如果是存放在vector中,甚至可以直接比較兩個vector:v1>v2

class symbolless : public std::binary_functionbool>  

};

...set

symbols;//

使用...

map自定義比較函式

from template class alloc alloc 第乙個引數key是關鍵字型別 第二個引數t是值型別 第三個引數compare是比較函式 仿函式 第四個引數是記憶體配置物件 map中的關鍵字,起碼必須有 這個比較操作符。我們知道,int,float,enum,size t等等簡單關鍵字...

自定義比較函式mystrcmp

實現乙個兩字串比較的函式 mystrcmp 不允許呼叫標準庫中的字串處理函式。當兩字串相等時,該函式返回 0 當第乙個字串大於第二字串時,該函式返回 1 當第乙個字串小於第二字串時,該函式返回 1。輸入格式 兩行,每行乙個字串,每個字串的長度不超過30。輸出格式 根據兩字串的大小,對應輸出 0,1,...

STL自定義比較器

struct person 自定義的比較器 struct comparebyage sort vec.begin vec.end comparebyage 排序傳入我們自定義的比較器map內部的實現使用的是樹,不能夠直接排序,我們可以將其放在乙個vector中,然後自定義乙個比較器去排序 map m...