1.multiset(set差不多)
(1)erase删除,删除指针和键值是不同的。
键值的话是删除所有,指针的话是那个位置的值。
(2)统计单个键值个数。
(3)对于q.begin(),q.end()
很显然,得出q.begin()和q.end()都有值
q.begin()值为第一个元素,q.end()是当前的个数。
(4)返回最大可以放的键值,max_size()
(5)find()寻找键值
没找到一律为q.end()
(6)swap() 交换两个set,O(1)交换
2,stack
3,vector
(1)直接访问
发现,只有合法位置才有确定的值,其它位置最好不要越界,避免错误,可以放个哨兵,在最后。
(2)最大可以分配空间,现在大小,现在分配空间
(3)这里vector的删除,无法删除键值,只能删除指针。
size变小,但是发现最后一位那个值没改。
(3)定死分配空间
这个类似开数组,没什么用,不如直接开数组
(4)pop_back()
4,hash_map,hash_multimap,hash_set,hash_multiset
这几个容器相较与其它,关键在于查询速度变快,并且不是按关键子排序的,所以
谨慎使用。
关于遍历
只需要用一种结构,如map<int,int> 后 ::iterator 这个就是一个指针。
map中,pair中如 it为指针,用->first ->second来指向。
pair中