码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++ STL库 map


    C++ Maps

    用于将两个数据映射起来,就是同过一个数据,可以找到另一个数据。

    所以它存储的数据是成对的。也就是存储的是一个对组。

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

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. void show(map &mp)
    6. {
    7. for (auto it = mp.begin(); it != mp.end(); it++)
    8. {
    9. cout << it->first << ":" << it->second << endl;
    10. }
    11. }
    12. int main(int argc, char const *argv[])
    13. {
    14. pair p1("张三", "54656");
    15. map mp;
    16. pair p;
    17. mp["李四"] = "shgjagf";
    18. mp["王五"] = "jgfhjgdwagfh";
    19. mp["赵六"] = "jgfhjgdfh";
    20. mp["王八"] = "jgfhjgafa";
    21. show(mp);
    22. auto it = mp.find("王八");
    23. char data[] = {"sdasda "};
    24. cout << it->first << ":" << it->second << endl;
    25. return 0;
    26. }

    运行结果:

    1. 李四:shgjagf
    2. 王五:jgfhjgdwagfh
    3. 王八:jgfhjgafa
    4. 赵六:jgfhjgdfh
    5. 王八:jgfhjgafa


    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 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 );
    

    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的函数。

  • 相关阅读:
    Springboot笔记-有header的post请求、get请求
    mysql 安全加固
    【面试复习】Python基础复习
    [附源码]Python计算机毕业设计Django新能源汽车租赁
    嵌入式系统 期末复习提纲
    OpenStack云计算平台实战-----创建空白虚拟机
    【数据结构】排序3——交换排序(冒泡排序、快速排序)
    汉字风格迁移篇---W-net:基于深度神经网络的一次任意风格汉字生成
    【组成原理 七 I/O系统】
    CMakeLists.txt新手教程
  • 原文地址:https://blog.csdn.net/weixin_55944697/article/details/132833605
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号