Re: [STL] Container一問:value可排序的hash_map?

看板C_and_CPP作者時間15年前 (2010/08/08 14:49), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《Aligu1009 (=.=)》之銘言: : 請問有符合以下這些要求的container嗎? : 1. 類似hash_map,有key與value的對應 : 2. 可以對value進行排序 : 我覺得有這樣的container應該蠻合理的,因為這是很常使用的功能 : 但網上搜了搜卻沒找到這樣的container :( : 例子:把一篇文章中所有的字依字數多寡做排列 : 一個直觀的做法就是用hash_map存字與字數的對應 : 然後排序後印出 : 但,hash_map是不能依value做排序的 : 請問有適合這種要求的container嗎?謝謝 剛才我有做一個實驗 不知符不符合你想要的 假設我想做一個排名的系統 但由分數高排到分數低 std::map<string (for name),double (for score)> sMap; 如果我.. sMap["john"] = 0.3 sMap["joe"] = 0.5 sMap["mary"] = 0.1 這樣子 還得自已拿出來後算排序,但如果反過來放 std::map<double,string> 雖然不用自已算排序,但這個更糕 如果分數一樣 就被當成一筆entry !! 剛才我實驗一下 如果按以下這樣子放.. 就可以不用自已排序 std::set<std::pair<double,string>> 就算分數一樣,名字不一樣 還是2筆entry 當然,這是因為我用primitive type的關係嘛.. 不曉得你是不是只要這種應用 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.172.147

08/08 15:02, , 1F
仔細看才發現元素型態不是pointer to function...
08/08 15:02, 1F

08/08 17:55, , 2F
XDDDDDD
08/08 17:55, 2F
文章代碼(AID): #1CNbDtPQ (C_and_CPP)
文章代碼(AID): #1CNbDtPQ (C_and_CPP)