關於sort中cmp乙個小問題

2021-08-15 00:21:00 字數 532 閱讀 4384

如果想用cmp進行從大到小的排序用下列的**時,

bool cmp(int a, int b){

if(a != b) return a > b;

用pat判斷時 可能會出現段錯誤;例a1037.

正確的寫法應該是

bool cmp(int a, int b){

return a > b;

具體原因還不是很懂,但是用cmp一定要保證嚴格弱排序的規則,一定要保證所有情況都有返回bool的值。

嚴格是說在判斷的時候會用"<",而不是"<=",弱排序是因為,一旦"<"成立便認為存在"<"關係,返回ture,而忽略了"="關係和">"區別,把它們歸結為false

乙個小技巧:

bool cmp(data type a, data type b){

if(a.num == 0 || b.num == 0) return a.num > b.num;        

else a.num < b.num;

這樣就能讓num為0的排在後面, 非零的以遞增的順序排在後面。

關於Jsoup的乙個小問題

利用jsoup可以實現對網頁資訊進行有效解析和提取,例如有網頁內容如下 hello,jsoup jsoup的官方 利用jsoup提取標籤的內容,如下 document doc null trycatch ioexception ioe 提取標籤的內容 string strtitle doc.sele...

乙個關於選擇的小問題

以前看過這樣乙個問題 乙個人參加有獎答題,主持人給出了a b c三個選項。這個不知道問題的答案,就隨便選了乙個選項。然後主持人排除了剩下兩個答案中的乙個,告訴這個人有一次改變自己選項的機會。請問 這時候這個人該不該改變自己的選項?剛看到這個問題,我的第一反映是完全沒必要,因為既然排除了乙個錯誤選項,...

關於指標的乙個小問題

任務 c primer 4th 習題5.18 編寫程式定義乙個vector物件,其每個元素都是指向string型別的指標,讀取該vector物件,輸出每個string的內容及其相應的長度。自己的方法 string s string sarr 10 vector內的每個元素都是指向string型別的指...