作者Deltak (藍田五十弦)
看板C_and_CPP
標題[問題] 三維map的find要怎麼做?
時間Sat Jan 7 11:57:57 2017
開發平台(Platform): (Ex: Win10, Linux, ...) win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) <map>
問題(Question):
我想用map把一個int清單(vector<int>) 存在一個三維空間中
希望用 mymap[x][y][z] 可以對應到一個 vector<int>
但是現在有個問題是,我想要確認某(x0,y0,z0)位置是不是已經建立清單了
如果不是的話要生一個vector給它
網路上有查了find的用法,但是找不到類似問題的解決方法
map生成如下,請問各位,find或有什麼方法能做到這件事?
map<int, map<int, map<int, vector<int> > > > mymap;
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.106.200
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1483761480.A.46B.html
1F:→ wawi2: 不是很確定 但或許你可以用 map<vector<int>> mymap; 01/07 12:06
不好意思,看不太懂你的意思...
目前有用了一個替代方案是 vector<int> v[100][100][100];
不過還是很好奇map能不能做到上述的那樣
※ 編輯: Deltak (118.168.106.200), 01/07/2017 13:04:03
2F:→ Caesar08: 呼叫3次find。你用[][][]他就會自己產生vector了 01/07 13:39
3F:→ Caesar08: 另外,你可以考慮用unordered_map取代map 01/07 13:39
4F:→ ilikekotomi: 如果只是要確認存在 可以用set<tuple<int,int,int>> 01/07 13:41
5F:→ ilikekotomi: 看情況可以用unordered的版本會更好 01/07 13:47
好,我會去學一下unordered怎麼用,謝謝上面兩位
※ 編輯: Deltak (118.168.106.200), 01/07/2017 16:55:01