※ 引述《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掃一次"的方法
: 謝謝
for( std::map<char,int>::iterator it = yourMap.begin();
it != yourMap.end(); ++it )
{
if( (*it).second == 1 ) return (*it).first;
}
一個簡單的方法, 這樣呢?
根據以下ledia板友的推文修改了一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.189.89.230
推
12/03 01:25, , 1F
12/03 01:25, 1F
→
12/03 01:25, , 2F
12/03 01:25, 2F
→
12/03 01:26, , 3F
12/03 01:26, 3F
推
12/03 01:33, , 4F
12/03 01:33, 4F
→
12/03 01:36, , 5F
12/03 01:36, 5F
※ 編輯: Mewra 來自: 59.189.89.230 (12/03 01:40)
→
12/03 02:13, , 6F
12/03 02:13, 6F
→
12/03 02:14, , 7F
12/03 02:14, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):