stl中map的基本用法

简介:
C++ Maps是一种关联式容器,包含“关键字/值”对

C++ Maps

C++ Maps 被用作储存“关键字/值”对


begin

语法:
  iterator begin(); 

begin()函数返回一个迭代器指向map的第一个元素。


clear

语法:
  void clear(); 

clear()函数删除map中的所有元素。


count

语法:
  size_type count( const KEY_TYPE &key ); 

count()函数返回map中键值等于key的元素的个数。


empty

语法:
  bool empty(); 

empty()函数返回真(true)如果map为空,否则返回假(false)。


end

语法:
  iterator end(); 

end()函数返回一个迭代器指向map的尾部。


equal_range

Syntax:
  pair equal_range( const KEY_TYPE &key ); ,>

equal_range()函数返回两个迭代器——一个指向第一个键值为key的元素,另一个指向最后一个键值为key的元素。


erase

语法:
  void erase( iterator pos );   void erase( iterator start, iterator end );   size_type erase( const KEY_TYPE &key ); 

erase()函数删除在pos位置的元素,或者删除在start和end之间的元素,或者删除那些值为key的所有元素。


find

语法:
  iterator find( const KEY_TYPE &key ); 

find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器


get_allocator

语法:
  allocator_type get_allocator(); 

get_allocator()函数返回map的配置器。


insert

语法:
  iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val );   void insert( input_iterator start, input_iterator end );   pair<iterator, bool> insert( const pair<KEY_TYPE,VALUE_TYPE> &val ); 

insert()函数:

  • 插入val到pos的后面,然后返回一个指向这个元素的迭代器
  • 插入start到end的元素到map中。
  • 只有在val不存在时插入val。返回值是一个指向被插入元素的迭代器和一个描述是否插入的bool值。

 


key_comp

语法:
  key_compare key_comp(); 

key_comp()函数返回一个比较key的函数。


lower_bound

语法:
  iterator lower_bound( const KEY_TYPE &key ); 

lower_bound()函数返回一个迭代器,指向map中键值>=key的第一个元素。


max_size

语法:
  size_type max_size(); 

max_size()函数返回map能够保存的最大元素个数。


rbegin

语法:
  reverse_iterator rbegin(); 

rbegin()函数返回一个指向map尾部的逆向迭代器


rend

语法:
  reverse_iterator rend(); 

rend()函数返回一个指向map头部的逆向迭代器


size

语法:
  size_type size(); 

size()函数返回map中保存的元素个数。


swap

语法:
  void swap( map &obj ); ,t,comp,allocator>

swap()交换obj和现map中的元素。


upper_bound

语法:
  iterator upper_bound( const KEY_TYPE &key ); 

upper_bound()函数返回一个迭代器,指向map中键值>key的第一个元素。


value_comp

语法:
  value_compare value_comp(); 

value_comp()函数返回一个比较元素value的函数。


博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2012/03/01/2376169.html ,如需转载请自行联系原作者
相关文章
|
6月前
|
编译器 C++ 容器
【c++丨STL】基于红黑树模拟实现set和map(附源码)
本文基于红黑树的实现,模拟了STL中的`set`和`map`容器。通过封装同一棵红黑树并进行适配修改,实现了两种容器的功能。主要步骤包括:1) 修改红黑树节点结构以支持不同数据类型;2) 使用仿函数适配键值比较逻辑;3) 实现双向迭代器支持遍历操作;4) 封装`insert`、`find`等接口,并为`map`实现`operator[]`。最终,通过测试代码验证了功能的正确性。此实现减少了代码冗余,展示了模板与仿函数的强大灵活性。
165 2
|
6月前
|
存储 算法 C++
【c++丨STL】map/multimap的使用
本文详细介绍了STL关联式容器中的`map`和`multimap`的使用方法。`map`基于红黑树实现,内部元素按键自动升序排列,存储键值对,支持通过键访问或修改值;而`multimap`允许存在重复键。文章从构造函数、迭代器、容量接口、元素访问接口、增删操作到其他操作接口全面解析了`map`的功能,并通过实例演示了如何用`map`统计字符串数组中各元素的出现次数。最后对比了`map`与`set`的区别,强调了`map`在处理键值关系时的优势。
315 73
|
5月前
|
JavaScript 前端开发 开发者
flat、flatmap与map的用法区别
本文介绍了 JavaScript 数组方法 `flat()`、`flatMap()` 和 `map()` 的用法及区别。`flat()` 可按指定深度递归展平数组,参数为深度,默认一层;`flatMap()` 结合了 `map()` 和 `flat()` 功能,返回一维数组,长度可能不同于原数组;而 `map()` 返回与原数组长度一致的新数组。通过多个代码示例展示了三者的功能和差异,帮助开发者更好地理解和使用这些方法。
575 0
|
10月前
|
存储 C++ 容器
【C++】map、set基本用法
本文介绍了C++ STL中的`map`和`set`两种关联容器。`map`用于存储键值对,每个键唯一;而`set`存储唯一元素,不包含值。两者均基于红黑树实现,支持高效的查找、插入和删除操作。文中详细列举了它们的构造方法、迭代器、容量检查、元素修改等常用接口,并简要对比了`map`与`set`的主要差异。此外,还介绍了允许重复元素的`multiset`和`multimap`。
226 3
【C++】map、set基本用法
|
存储 编译器 C++
|
Java API 容器
Java 8 的流库:Filter、Map、FlatMap 及 Optional 的概念与用法
【6月更文挑战第9天】Java 8 引入了许多强大的新特性,其中流库(Stream API)和 Optional 类极大地简化了集合操作和空值处理。本文将深入探讨 filter、map、flatMap 以及 Optional 的概念和用法,并提供示例代码来展示其实际应用。
409 4
|
存储 人工智能 C++
map容器在C++中的具体用法以及相关注意点
map容器在C++中的具体用法以及相关注意点
174 1
|
存储 算法 C++
【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
177 0
|
存储 C++ 索引
C++基础知识(八:STL标准库 Map和multimap )
C++ 标准模板库(STL)中的 map 容器是一种非常有用的关联容器,用于存储键值对(key-value pairs)。在 map 中,每个元素都由一个键和一个值组成,其中键是唯一的,而值则可以重复。
194 0
|
C++ 容器
C++ STL标准库 《map容器详解》
C++ STL标准库 《map容器详解》
103 0