Map是c++的一个标准容器,它提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!
1.<wbr><wbr>map构造函数;<br><wbr><wbr><wbr><wbr>map<string , int >mapstring;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>map<int ,string >mapint;<br><wbr><wbr><wbr><wbr>map<sring, char>mapstring;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>map< char ,string>mapchar;<br><wbr><wbr><wbr><wbr>map<char ,int>mapchar;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>map<int ,char >mapint;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> 2.<wbr><wbr>map添加数据;<br><wbr><wbr><wbr><wbr>map<int ,string> maplive;<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>1.maplive.insert(pair<int,string>(102,"aclive"));<br><wbr><wbr><wbr><wbr>2.maplive.insert(map<int,string>::value_type(321,"hai"));<br><wbr><wbr><wbr><wbr>3, maplive[112]="April";//map中最简单最常用的插入添加!<br> 3,map中元素的查找:</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>map<int ,string >::iterator l_it;;<wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr>l_it=maplive.find(112);<br><wbr><wbr><wbr><wbr><wbr><wbr>if(l_it==maplive.end())<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout<<"we do not find 112"<<endl;<br><wbr><wbr><wbr><wbr>else cout<<"wo find 112"<<endl;<br> 4,map中元素的删除:<br><wbr><wbr><wbr><wbr>如果删除112;<br><wbr><wbr><wbr><wbr>map<int ,string >::iterator l_it;;<br><wbr><wbr><wbr><wbr>l_it=maplive.find(112);<br><wbr><wbr><wbr><wbr>if(l_it==maplive.end())<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout<<"we do not find 112"<<endl;<br><wbr><wbr><wbr><wbr>else<wbr><wbr>maplive.erase(l_it);<wbr><wbr>//delete 112;<br> 5,map中 swap的用法:<br><wbr><wbr>Map中的swap不是一个容器中的元素交换,而是两个容器交换;<br><wbr><wbr>For example:<br><wbr><wbr>#include <map><br><wbr><wbr>#include <iostream></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>using namespace std;<br></wbr></wbr></wbr></wbr> <wbr><wbr>int main( )<br><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>map <int, int> m1, m2, m3;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>map <int, int>::iterator m1_Iter;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 1, 10 ) );<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 2, 20 ) );<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 3, 30 ) );<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>m2.insert ( pair <int, int><wbr><wbr>( 10, 100 ) );<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>m2.insert ( pair <int, int><wbr><wbr>( 20, 200 ) );<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>m3.insert ( pair <int, int><wbr><wbr>( 30, 300 ) );</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>cout << "The original map m1 is:";<br><wbr><wbr><wbr><wbr>for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout << " " << m1_Iter->second;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout<wbr><wbr><wbr><wbr><< "." << endl;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>// This is the member function version of swap<br><wbr><wbr><wbr><wbr>//m2 is said to be the argument map; m1 the target map<br><wbr><wbr><wbr><wbr>m1.swap( m2 );</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>cout << "After swapping with m2, map m1 is:";<br><wbr><wbr><wbr><wbr>for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout << " " << m1_Iter -> second;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout<wbr><wbr><< "." << endl;<br><wbr><wbr><wbr><wbr>cout << "After swapping with m2, map m2 is:";<br><wbr><wbr><wbr><wbr>for ( m1_Iter = m2.begin( ); m1_Iter != m2.end( ); m1_Iter++ )<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout << " " << m1_Iter -> second;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout<wbr><wbr><< "." << endl;<br><wbr><wbr><wbr><wbr>// This is the specialized template version of swap<br><wbr><wbr><wbr><wbr>swap( m1, m3 );</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>cout << "After swapping with m3, map m1 is:";<br><wbr><wbr><wbr><wbr>for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout << " " << m1_Iter -> second;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout<wbr><wbr><wbr><wbr><< "." << endl;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> 6.map的sort问题: <wbr><wbr><wbr><wbr>using namespace std;<br></wbr></wbr></wbr></wbr> <wbr><wbr>int main( )<br><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr>map <int, int> m1;<br><wbr><wbr><wbr><wbr>map <int, int>::iterator m1_Iter;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 1, 20 ) );<br><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 4, 40 ) );<br><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 3, 60 ) );<br><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 2, 50 ) );<br><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 6, 40 ) );<br><wbr><wbr><wbr><wbr>m1.insert ( pair <int, int><wbr><wbr>( 7, 30 ) );</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr><wbr><wbr><wbr>cout << "The original map m1 is:"<<endl;<br><wbr><wbr><wbr><wbr>for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout <<<wbr><wbr>m1_Iter->first<<" "<<m1_Iter->second<<endl;<br><wbr><wbr><wbr><wbr><br> }<br><wbr><wbr>The original map m1 is:<br><wbr><wbr>1 20<br><wbr><wbr>2 50<br><wbr><wbr>3 60<br><wbr><wbr>4 40<br><wbr><wbr>6 40<br><wbr><wbr>7 30<br><wbr><wbr>请按任意键继续. . .</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> 7,<wbr><wbr><wbr><wbr>map的基本操作函数:<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>C++ Maps是一种关联式容器,包含“关键字/值”对<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>begin()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>返回指向map头部的迭代器<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>clear()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>删除所有元素<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>count()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>返回指定元素出现的次数<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>empty()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>如果map为空则返回true<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>end()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>返回指向map末尾的迭代器<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>equal_range()<wbr><wbr><wbr><wbr><wbr><wbr>返回特殊条目的迭代器对<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>erase()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>删除一个元素<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>find()<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>查找一个元素<br><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
C++中map用法(二)
最新推荐文章于 2024-07-19 11:24:15 发布