zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Ext.Net中,文件下载。
    Ext.Net中,DataView数据绑定之使用技巧。
    Ext.Net控件,简单案例1,让我们从Hello World开始,走进Ext.Net控件的世界!。
    VSCode入门设置成中文
    S2T40,第四章,简答4
    MongoDB学习笔记三:查询
    初等数论学习笔记一:整除的概念与带余除法
    MongoDB学习笔记四:索引
    初等数论学习笔记二:最大公因数与辗转相除法
    MongoDB学习笔记二:创建、更新及删除文档
  • 原文地址:https://www.cnblogs.com/likailiche/p/4897069.html
Copyright © 2011-2022 走看看