作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [情报] Lecture Notes #4 & 7 are now online
时间Mon Oct 29 17:52:15 2012
※ 引述《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
1F:→ XDucka:我发现我找data都是用 if(m.count(key)>0) 这样是不是变成 10/29 18:08
2F:→ XDucka:他一定要整个map都跑过一遍 所以大O就不是logN了 10/29 18:08
3F:→ ric2k1:倒是没有看过用 count(key) > 0 的,不过 count 应该也是 10/29 23:45
4F:→ ric2k1:log N 吧! 10/29 23:45
5F:推 TommyKSHS:因为是红黑树所以 count 可以做到 logN 喔 10/30 01:54
6F:推 XDucka:原来map是红黑树阿XD 10/30 23:17
7F:→ XDucka:m.insert(pair(key, data)) 与 m[key] = data 的差别 是在 10/30 23:17
8F:→ XDucka:於一个不能覆盖已经有key的资料一个可以吗 10/30 23:18
9F:→ ric2k1:是的! 一个不能,一个一定会覆盖/或产生新的 entry。 10/30 23:36