c++ map 的使用方法

mslVictor 贡献于2013-12-01

作者 Lenovo User  创建于2008-11-07 01:35:00   修改者Victor  修改于2012-12-21 05:26:00字数2744

文档摘要:c++map的使用方法Map是c++的一个标准容器,它提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!
关键词:

c++ map的使用方法 c++ map的使用方法 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的函数

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档