何謂排序準則

2021-08-27 02:41:53 字數 1160 閱讀 2397

所謂「排序準則」,必須定義strict weak ordering,其意義如下

1必須是「反對稱的(antisymmetric)」

對operator《而言,如果x

對判斷式predicate op()而言,如果op(x,y)為真,則op(y,x)為假

2必須是「可傳遞的(transitive)」

對operator《而言,如果x

對判斷式predicate op()而言,如果op(x,y)為真且op(y,z)為真則op(x,z)為真

3必須是「非自反的(irreflexive)」

對operator《而言,x

對判斷式predicate op()而言,op(x,x)永遠為假

下面的兩個排序是等價的:

#include#include#include#includeusing namespace std;

class paixu

};int main();

vectorv(a,a+sizeof(a)/sizeof(*a));

sort(v.begin(),v.end(),paixu());

for(vector::iterator itera=v.begin();itera!=v.end();++itera)

cout

bool paixu(int a,int b)

int main();

vectorv(a,a+sizeof(a)/sizeof(*a));

sort(v.begin(),v.end(),paixu);

for(vector::iterator itera=v.begin();itera!=v.end();++itera)

cout第一程式用反函式,第二程式用了普通函式:

結果如下:

c set容器排序準則

以下是實驗 include include include using namespace std student結構體 struct student 仿函式 為student set指定排序準則 class studentsortcriterion intmain else for std set...

何謂「Linux城市」?

2005年3 月,南韓提出要搞所謂 linux 城市 計畫,受到國際社會的普遍關注。顧名思義,南韓 linux 城市 就是 純粹 linux 城市 簡單說來,就是不要 windows 的城市。今天看來,這種 純粹 linux 城市 的想法不夠科學,特別是對發展軟體業的指導 促進作用不大。當今,國際軟...

何謂「虛擬化」?

虛擬化 這個詞的意義出自英語詞根 virtual 形容詞 virtual 的含義是 事實上的,但並非正式的 almost what is stated in fact though not officially 由此,virtual 一詞的中文意思是,用來相容某種 虛構 虛擬 的什麼東西。虛者,非實...