博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++中map用法详解《转》
阅读量:5912 次
发布时间:2019-06-19

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

Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数;   map
mapstring; map
mapint; map
mapstring; map< char ,string>mapchar; map
mapchar; map
mapint;2. map添加数据; map
maplive; 1.maplive.insert(pair
(102,"aclive")); 2.maplive.insert(map
::value_type(321,"hai")); 3, maplive[112]="April";//map中最简单最常用的插入添加!3,map中元素的查找: find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。 map
::iterator l_it;; l_it=maplive.find(112); if(l_it==maplive.end()) cout<<"we do not find 112"<
::iterator l_it;; l_it=maplive.find(112); if(l_it==maplive.end()) cout<<"we do not find 112"<
#include
using namespace std; int main( ) { map
m1, m2, m3; map
::iterator m1_Iter; m1.insert ( pair
( 1, 10 ) ); m1.insert ( pair
( 2, 20 ) ); m1.insert ( pair
( 3, 30 ) ); m2.insert ( pair
( 10, 100 ) ); m2.insert ( pair
( 20, 200 ) ); m3.insert ( pair
( 30, 300 ) ); cout << "The original map m1 is:"; for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ ) cout << " " << m1_Iter->second; cout << "." << endl; // This is the member function version of swap //m2 is said to be the argument map; m1 the target map m1.swap( m2 ); cout << "After swapping with m2, map m1 is:"; for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ ) cout << " " << m1_Iter -> second; cout << "." << endl; cout << "After swapping with m2, map m2 is:"; for ( m1_Iter = m2.begin( ); m1_Iter != m2.end( ); m1_Iter++ ) cout << " " << m1_Iter -> second; cout << "." << endl; // This is the specialized template version of swap swap( m1, m3 ); cout << "After swapping with m3, map m1 is:"; for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ ) cout << " " << m1_Iter -> second; cout << "." << endl;}6.map的sort问题: Map中的元素是自动按key升序排序,所以不能对map用sort函数: For example: #include
#include
using namespace std; int main( ) { map
m1; map
::iterator m1_Iter; m1.insert ( pair
( 1, 20 ) ); m1.insert ( pair
( 4, 40 ) ); m1.insert ( pair
( 3, 60 ) ); m1.insert ( pair
( 2, 50 ) ); m1.insert ( pair
( 6, 40 ) ); m1.insert ( pair
( 7, 30 ) ); cout << "The original map m1 is:"<
first<<" "<
second<
=给定元素的第一个位置 max_size() 返回可以容纳的最大元素个数 rbegin() 返回一个指向map尾部的逆向迭代器 rend() 返回一个指向map头部的逆向迭代器 size() 返回map中元素的个数 swap() 交换两个map upper_bound() 返回键值>给定元素的第一个位置 value_comp() 返回比较元素value的函数

https://blog.csdn.net/yas12345678/article/details/52601624

你可能感兴趣的文章
《JAVA面向对象的特征 》
查看>>
技本功丨呀~我不会写CSS之vertical-align(上集)
查看>>
技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)
查看>>
mongodb基础(1)
查看>>
httpd
查看>>
php 笔试题汇总
查看>>
能冒泡的事件
查看>>
easyui-tree 修改图标
查看>>
变频电源老化测试重要吗?需要做老化测试吗
查看>>
Linux下Nginx源码安装
查看>>
一文带你快速了解,python是如何解析XML文件
查看>>
如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招
查看>>
云越发展,锁定问题就会越严重?
查看>>
什么样人适合学平面设计?零门槛入门工具收藏
查看>>
用户访问网页的流程原理
查看>>
FastDfs 文件系统迁移
查看>>
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
查看>>
数字格式化工具:Numeral.js 简介
查看>>
Django登录后,自动返回原操作页面的方法
查看>>
UltraEdit批量删除空行
查看>>