码迷,mamicode.com
首页 > 编程语言 > 详细

C++ stl 运用(深层)

时间:2017-11-04 00:07:52      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:iterator   tor   int   wap   ras   容器   技术分享   size   stack   

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中

  技术分享

 

C++ stl 运用(深层)

标签:iterator   tor   int   wap   ras   容器   技术分享   size   stack   

原文地址:http://www.cnblogs.com/fengzhiyuan/p/7780453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!