map c++

来源:互联网 发布:手机查看淘宝注册时间 编辑:程序博客网 时间:2024/06/06 09:34
C++中map容器提供一个键值对容器,mapmultimap差别仅仅在于multiple允许一个键对应多个值。   一、map的说明    1   头文件   #include   <map>   2   定义   map<string,   int>   my_Map;   或者是typedef     map<string,   int>   MY_MAP;   MY_MAP   my_Map;   3   插入数据   (1)   my_Map["a"]   =   1;   (2)   my_Map.insert(map<string,   int>::value_type("b",2));   (3)   my_Map.insert(pair<string,int>("c",3));   (4)   my_Map.insert(make_pair<string,int>("d",4));   4   查找数据和修改数据   (1)   int   i   =   my_Map["a"];             my_Map["a"]   =   i;   (2)   MY_MAP::iterator   my_Itr;             my_Itr.find("b");             int   j   =   my_Itr->second;             my_Itr->second   =   j;   不过注意,键本身是不能被修改的,除非删除。   5   删除数据   (1)   my_Map.erase(my_Itr);   (2)   my_Map.erase("c");   还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。   6   迭代数据   for   (my_Itr=my_Map.begin();   my_Itr!=my_Map.end();   ++my_Itr)   {}   7   其它方法   my_Map.size()               返回元素数目   my_Map.empty()       判断是否为空   my_Map.clear()           清空所有元素   可以直接进行赋值和比较:=,   >,   >=,   <,   <=,   !=   等等   7map的基本操作函数:      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的函数
原创粉丝点击