博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
map
阅读量:7198 次
发布时间:2019-06-29

本文共 2283 字,大约阅读时间需要 7 分钟。

//map是一个存储键值对的容器,也是一个双向链表

#include <iostream>

using namespace std;

#include <map>

int main(int argc, const char * argv[])

{

    map<int, string> maplive;

    maplive.insert(pair<int,string>(110,"April1"));

    maplive.insert(map<int,string>::value_type(111,"April2"));

    maplive[112] = "April3";

    map<int,string>::iterator l_it,l_it2;

    int i = maplive.size();

    for (l_it = maplive.begin(); l_it != maplive.end(); ) {

        if (l_it->first == 110) {

            l_it2 = l_it;

            l_it2++;

            maplive.erase(l_it);

            l_it = l_it2;

        }

        else

            l_it++;

    }

    

    //打印

    for (l_it = maplive.begin(); l_it != maplive.end();l_it++) {

        cout << l_it -> second << endl;     //取值是second,取key是first

    }

    return 0;

}

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

C++ Multimapsmaps很相似,但是MultiMaps允许重复的元素。 1.begin() 返回指向map头部的迭代器
2.clear() 删除所有元素
3.count() 返回指定元素出现的次数

语法:
size_type count( const KEY_TYPE &key ); //
返回map中键值等于key的元素的个数

4.empty() 如果map为空则返回true 5.end() 返回指向map末尾的迭代器 6.equal_range() 返回特殊条目的迭代器对

语法:
pair equal_range( const KEY_TYPE &key ); 
返回两个迭代器,指向第一个键值为key的元素和指向最后一个键值为key的元素

7.erase() 删除一个元素 语法:

void erase( iterator i ); //删除i元素
void erase( iterator start, iterator end ); //删除从start开始到end(不包括end)结束的元素 size_type erase( const key_type &key ); //删除等于key值的所有元素(返回被删除的元素的个数)

8.find() 查找一个元素 语法:

iterator find( const key_type &key );

11

//查找等于key值的元素,并返回指向该元素的迭代器;

//如果没有找到,返回指向集合最后一个元素的迭代器9.get_allocator() 返回map的配置器

10.insert() 插入元素

语法:
iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val ); //
插入valpos的后面,然后返回一个指向这个元素的迭代器
void insert( input_iterator start, input_iterator end );
//
插入startend的元素到map
pair<iterator, bool> insert( const pair<KEY_TYPE,VALUE_TYPE> &val ); //只有在val不存在时插入val。返回指向被插入元素的迭代器和描述是否插入的bool

11.key_comp() 返回比较元素key的函数 语法:

key_compare key_comp();

//返回一个用于元素间值比较的函数对象 12.lower_bound() 返回键值>=给定元素的第一个位置

语法:
iterator lower_bound( const key_type &key ); //
返回一个指向大于或者等于key值的第一个元素的迭代器

13.max_size() 返回可以容纳的最大元素个数 14.rbegin() 返回一个指向map尾部的逆向迭代器 15.rend() 返回一个指向map头部的逆向迭代器 16.size() 返回map中元素的个数

17.swap() 交换两个map 语法:

void swap( map &obj );

//swap()交换obj和现map中的元素
18.upper_bound() 返回键值>给定元素的第一个位置

语法:
iterator upwer_bound( const key_type &key ); //
返回一个指向大于key值的第一个元素的迭代器

19.value_comp() 返回比较元素value的函数 语法:

value_compare value_comp(); //返回一个用于比较元素value的函数 

本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366452,如需转载请自行联系原作者

你可能感兴趣的文章
大数据另一个方向——大数据变成“小数据”
查看>>
瑞典向2040年实现100%可再生能源发电目标迈进
查看>>
将云空间变成虚拟U盘,Seafile想让企业在本地编辑云端文件
查看>>
ST南电A与中国燃气重组计划“流产” 布局气电一体化遇挫
查看>>
公交WIFI的前景真的那么美好吗?
查看>>
共享单车联姻物联网
查看>>
声称来自中国的黑客组织攻击了两家菲律宾政府网站
查看>>
Silverlight+WCF 新手实例 象棋 回归WCF通讯应用-进入房间(十九)
查看>>
加勒比最大45MW光伏电站成功并网至波多黎各电网
查看>>
陌陌唐岩的自白
查看>>
Windows 10在Redstone 3中添加多步交互式通知功能
查看>>
零封全球顶级黑客,书生安全云是如何做到的?
查看>>
泰克的创新史,就是示波器的创新史
查看>>
项目延期原因及应对之道
查看>>
Java多态性Overload和Override的区别
查看>>
跟踪测试用例
查看>>
诺基亚助力越南MobiFone部署100G光传输网络
查看>>
理发店模型 ——《LoadRunner 没有告诉你的》之三
查看>>
建设CRM:企业一目了然的跟进客户
查看>>
如何进行高效JavaScript单元测试
查看>>