SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档320

  • 关于

  • 搜索

STL常用模板:MultiMap多元字典

发表于 2020-01-08 更新于 2021-10-29 分类于 计算机 , 技术 , C/C++ 阅读次数: Valine:
本文字数: 2.3k 阅读时长 ≈ 2 分钟

C/C++参考文档

概念

  C++ Multimaps和map很相似,但是MultiMaps允许重复的元素。

  • Map:一对一;有序( 自动按 key 升序 );可用 [ ] 赋值和取值;采用 红黑树 结构;实现O(lgn)的查找,插入和删除。
  • Multimap:多对多;有序( 自动按 key 升序 );无[ ] 操作;可自定义排序函数;采用 红黑树 结构。

头文件

1
#include <map>

名字空间

1
std

构造函数

定义:

1
multimap<Type,Type>

常用函数

begin

语法:

1
iterator begin();

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


clear

语法:

1
void clear();

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


count

语法:

1
size_type count( const key_type &key );

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


empty

语法:

1
bool empty();

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


end

语法:

1
iterator end();

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


equal_range

语法:

1
pair equal_range( const key_type &key );

  equal_range()函数查找multimap中键值等于key的所有元素,返回指示范围的两个迭代器。


erase

语法:

1
2
3
void erase( iterator pos );
void erase( iterator start, iterator end );
size_type erase( const key_type &key );

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


find

语法:

1
iterator find( const key_type &key );

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


get_allocator

语法:

1
allocator_type get_allocator();

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


insert

语法:

1
2
3
iterator insert( iterator pos, const TYPE &val );
void insert( input_iterator start, input_iterator end );
pair insert( const TYPE &val );

  insert()函数:

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

key_comp

语法:

1
key_compare key_comp();

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


lower_bound

语法:

1
iterator lower_bound( const key_type &key );

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


max_size

语法:

1
size_type max_size();

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


rbegin

语法:

1
reverse_iterator rbegin();

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


rend

语法:

1
reverse_iterator rend();

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


size

语法:

1
size_type size();

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


swap

语法:

1
void swap( multimap &obj );

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


upper_bound

语法:

1
iterator upper_bound( const key_type &key );

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


value_comp

语法:

1
value_compare value_comp();

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

-------- 本文结束 感谢阅读 --------
相关文章
  • STL常用模板:MultiSet多元集合
  • STL常用模板:Map字典
  • STL常用模板:Bitset位集合
  • STL常用模板:Double Ended Queue双向队列
  • STL常用模板:List链表
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: STL常用模板:MultiMap多元字典
  • 本文作者: SiriYang
  • 创建时间: 2020年01月08日 - 16时01分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200108162422id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
C/C++ 文档 STL
STL常用模板:MultiSet多元集合
STL常用模板:Map字典
  • 文章目录
  • 站点概览
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
320 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

  1. 概念
  2. 构造函数
  3. 常用函数
    1. begin
    2. clear
    3. count
    4. empty
    5. end
    6. equal_range
    7. erase
    8. find
    9. get_allocator
    10. insert
    11. key_comp
    12. lower_bound
    13. max_size
    14. rbegin
    15. rend
    16. size
    17. swap
    18. upper_bound
    19. value_comp
蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%