C++ map的基本操作和使用(二)

2014-02-08 13:37:18 · 作者: · 浏览: 416

 

  6.map的sort问题:

  Map中的元素是自动按key升序排序,所以不能对map用sort函数:

  For example:

  #include <map>

  #include <iostream>

  using namespace std;

  int main( )

  {

  map <int, int> m1;

  map <int, int>::iterator m1_Iter;

  m1.insert ( pair <int, int>  ( 1, 20 ) );

  m1.insert ( pair <int, int>  ( 4, 40 ) );

  m1.insert ( pair <int, int>  ( 3, 60 ) );

  m1.insert ( pair <int, int>  ( 2, 50 ) );

  m1.insert ( pair <int, int>  ( 6, 40 ) );

  m1.insert ( pair <int, int>  ( 7, 30 ) );

  cout 《 "The original map m1 is:"《endl;

  for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )

  cout 《  m1_Iter->first《" "《m1_Iter->second《endl;

  }

  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的函数