作者neigence ()
站內C_and_CPP
標題Re: [STL] Container一問:value可排序的hash_map?
時間Sun Aug 8 14:49:24 2010
※ 引述《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
→ loveme00835:仔細看才發現元素型態不是pointer to function... 08/08 15:02
→ neigence:XDDDDDD 08/08 17:55