• c++ Map使用


    引入头文件:

    #include <map>
    1、初始化
    map<int, int> a, b;
    map<sting, int> a, b;
    2、添加数据
    map<int ,string> maplive;
    法一:maplive.insert(pair<int,string>(102,"aclive"));
    法二:maplive[112]="April";//map中最简单最常用的插入添加!
    3、查找数据
    find()函数返回一个迭代器指向键值key的元素,如果没找到返回尾部的迭代器。

    map<int ,string> maplive;
    map<int ,string >::iterator result;
    result=maplive.find(112);
    if(l_it==maplive.end())
    cout<<"we do not find 112"<<endl;
    else cout<<"wo find 112"<<endl;

    对于迭代器 result
    result->first //存储键值key
    result->second //存储数据value
    4、删除数据

    map<int ,string> maplive;
    map<int ,string >::iterator result;
    result=maplive.find(112);
    if(result==maplive.end())
    cout<<"we do not find 112"<<endl;
    else maplive.erase(result); //delete 112;map的erase()函数的形参是迭代器。

    如果全部删除 maplive.clear()
    5、遍历数据

    map<int ,string> maplive;
    map<int ,string >::iterator result;
    for ( result = maplive.begin( ); result != maplive.end( ); result++ ){
    cout << " " << result->second;
    cout << "." << endl;
    }

    6、排序
    Map中的元素是自动按key升序排序,所以不能对map用sort函数:

    7、map的基本操作函数:
    C++ Maps是一种关联式容器,包含“关键字/值”对
    begin() 返回指向map头部的迭代器
    clear() 删除所有元素
    count() 返回指定元素出现的次数,其中形参是key值
    empty() 如果map为空则返回true
    end() 返回指向map末尾的迭代器
    erase() 删除一个元素
    find() 查找一个元素
    insert() 插入元素
    key_comp() 返回比较元素key的函数
    value_comp() 返回比较元素value的函数
    lower_bound() 返回键值>=给定元素的第一个位置(返回结果为迭代器)(形参是key值)
    upper_bound() 返回键值>给定元素的第一个位置(返回结果为迭代器)(形参是key值)
    max_size() 返回可以容纳的最大元素个数
    size() 返回map中元素的个数
    swap() 交换两个map

  • 相关阅读:
    ubuntu安装KVM
    从磁盘上卸载虚拟机安装的系统,彻底删除虚拟机
    VIM退出命令
    ubuntu修改IP地址和网关的方法
    linux 创建连接命令 ln -s 软链接
    OVF? OVA? VMDK? – File Formats and Tools for Virtualization
    How to: Launch the Debugger Automatically
    winform listview默认第一项光标选中
    基于TCP通信的客户端断线重连
    客户端程序传送图片到服务器
  • 原文地址:https://www.cnblogs.com/likailiche/p/4897069.html
Copyright © 2020-2023  润新知