STL

来源:互联网 发布:模糊查询sql语句 编辑:程序博客网 时间:2024/05/29 17:18

借鉴http://www.cnblogs.com/hailexuexi/archive/2012/04/10/2440209.html

map

百度百科:
映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索。对map而言,键只是指存储在容器中的某一成员。Map不支持副本键,multimap支持副本键。Map和multimap对象包涵了键和各个键有关的值,键和值的数据类型是不相同的,这与set不同。set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量。

map简介

map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。

map的功能

自动建立Key - value的对应。key 和 value可以是任意你需要的类型。
根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。
快速插入Key - Value 记录。 快速删除记录 根据Key 修改value记录。 遍历所有记录。

使用map

使用map得包含map类所在的头文件 include //注意,STL头文件没有扩展名.h
map对象是模板类,需要关键字和存储对象两个模板参数: std:map

map的基本操作函数

  begin()          返回指向map头部的迭代器  clear()         删除所有元素  count()          返回指定元素出现的次数  empty()          如果map为空则返回true  end()            返回指向map末尾的迭代器  equal_range()    返回特殊条目的迭代器对  erase()          删除一个元素  find()           查找一个元素  get_allocator()  返回map的配置器  insert()         插入元素  key_comp()       返回比较元素key的函数  lower_bound()    返回键值>=给定元素的第一个位置  max_size()       返回可以容纳的最大元素个数  rbegin()         返回一个指向map尾部的逆向迭代器  rend()           返回一个指向map头部的逆向迭代器  size()           返回map中元素的个数  swap()            交换两个map  upper_bound()     返回键值>给定元素的第一个位置  value_comp()      返回比较元素value的函数