看板 EE_DSnP 關於我們 聯絡資訊
※ 引述《ric2k1 (Ric)》之銘言: : Lecture note #4 is about STL. 補充一下, HW#3 關於 map 的使用方式,大家可以看一下這份講義的後面幾頁, 一些例子看過後應該會比較有概念。 簡單的說,你必須要知道: 1. 怎麼 traverse 過所有 map 裡面的 element? 怎麼抓到資料? ==> iterator or const_iterator, class pair, (*mi).second, etc. 2. 怎麼知道 (key, data) 有沒有在 map 裏頭? ==> if (m.find(key) != m.end())... 3. 怎麼插入資料到 map 裏頭? ==> m.insert(pair(key, data)) 與 m[key] = data 的差別 4. 怎麼清掉 map 裏頭所有的資料? ==> 自己 google!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.21.240
XDucka:我發現我找data都是用 if(m.count(key)>0) 這樣是不是變成 10/29 18:08
XDucka:他一定要整個map都跑過一遍 所以大O就不是logN了 10/29 18:08
ric2k1:倒是沒有看過用 count(key) > 0 的,不過 count 應該也是 10/29 23:45
ric2k1:log N 吧! 10/29 23:45
TommyKSHS:因為是紅黑樹所以 count 可以做到 logN 喔 10/30 01:54
XDucka:原來map是紅黑樹阿XD 10/30 23:17
XDucka:m.insert(pair(key, data)) 與 m[key] = data 的差別 是在 10/30 23:17
XDucka:於一個不能覆蓋已經有key的資料一個可以嗎 10/30 23:18
ric2k1:是的! 一個不能,一個一定會覆蓋/或產生新的 entry。 10/30 23:36