Re: [問題] 請問C++的map用法

看板C_and_CPP作者 (Alien)時間15年前 (2009/12/01 08:58), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《robertshih (施抄)》之銘言: : ( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) : ( 未必需要依照此格式,文章條理清楚即可 ) : 遇到的問題: (題意請描述清楚) : 各位大大好 我知道map的用法 : 想請問一下如果我存了兩筆資料 : map['a']=1; : map['b']=2; : 那麼我有沒有辦法再已知1的情況下 找出對應的key是'a'呢? : 希望得到的正確結果: : input是1, 結果是'a' : 程式跑出來的錯誤結果: : 我使用了 find() : 但 find() 也只能用key是找到那一筆資料 : 我需要的是反向操作 : 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) : g++, Linux : 有問題的code: (請善用置底文標色功能) : 補充說明: : 我主要是參考這裡 : http://www.cplusplus.com/reference/stl/map/find/ : 請問有無"不是把整個map掃一次"的方法 : 謝謝 你確定 key 也是獨一無二嗎? 最簡單的方法是多弄一個 map 放 value-key. 當update 本來的 map 的時候也一同 update 這 個 value-key 的 map 也有人寫了現成的 bidirectional map. google 一下 就找得到了. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82

12/01 17:05, , 1F
每一個key與value都是唯一的 我剛剛也找到bimap, thx~
12/01 17:05, 1F

12/01 18:10, , 2F
Boost.Bimap
12/01 18:10, 2F
文章代碼(AID): #1B5DgZS9 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1B5DgZS9 (C_and_CPP)