C++ Map 容器(二)

2015-01-27 10:05:50 · 作者: · 浏览: 29
his 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:"<
? ?for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
? ? ? cout << ?m1_Iter->first<<" "<second<
??
}
? The original map m1 is:
? 1 20
? 2 50
? 3 60
? 4 40
? 6 40
? 7 30
? 请按任意键继续. . .
?
7, ? map的基本操作函数:
? ? ? C++ Maps是一种关联式容器,包含“关键字/值”对
? ? ? begin() ? ? ? ? ?返回指向map头部的迭代器
? ? ? clear() ? ? ? ? 删除所有元素
? ? ? count() ? ? ? ? ?返回指定元素出现的次数
? ? ? empty() ? ? ? ? ?如果map为空则返回true
? ? ? end() ? ? ? ? ? ?返回指向map末尾的迭代器
? ? ? equal_range() ? ?返回特殊条目的迭代器对
? ? ? erase() ? ? ? ? ?删除一个元素
? ? ? find() ? ? ? ? ? 查找一个元素
? ? ? get_allocator() ?返回map的配置器
? ? ? insert() ? ? ? ? 插入元素
? ? ? key_comp() ? ? ? 返回比较元素key的函数
? ? ? lower_bound() ? ?返回键值>=给定元素的第一个位置
? ? ? max_size() ? ? ? 返回可以容纳的最大元素个数
? ? ? rbegin() ? ? ? ? 返回一个指向map尾部的逆向迭代器
? ? ? rend() ? ? ? ? ? 返回一个指向map头部的逆向迭代器
? ? ? size() ? ? ? ? ? 返回map中元素的个数
? ? ? swap() ? ? ? ? ? ?交换两个map
? ? ? upper_bound() ? ? 返回键值>给定元素的第一个位置
? ? ? value_comp() ? ? ?返回比较元素value的函数
?
声明:仅摘录,方便查找。