最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

map头文件的一些用法

来源:动视网 责编:小OO 时间:2025-09-29 04:49:10
文档

map头文件的一些用法

【转载】map头文件的一些用法2010-11-2012:23:40|分类:C++|标签:|字号大中小订阅1.map基本用法:样例代码:#include#include#include#include#include#include#includeusingnamespacestd;intmain(){mapmymap;map::iteratorit;mymap['b']=100;mymap['a']=200;mymap['c']=300;for(it=mymap.begin();it!=mym
推荐度:
导读【转载】map头文件的一些用法2010-11-2012:23:40|分类:C++|标签:|字号大中小订阅1.map基本用法:样例代码:#include#include#include#include#include#include#includeusingnamespacestd;intmain(){mapmymap;map::iteratorit;mymap['b']=100;mymap['a']=200;mymap['c']=300;for(it=mymap.begin();it!=mym
【转载】map头文件的一些用法  

2010-11-20 12:23:40|  分类: C++ |  标签: |字号大中小 订阅

1.map基本用法:

   样例代码:

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int  main()

{

map mymap;

map::iterator it;

   mymap['b'] = 100;

   mymap['a'] = 200;

   mymap['c'] = 300;

   for(it=mymap.begin();it!=mymap.end();++it)

cout<<(*it).first<<"=>"<<(*it).second<   return 0;

}

2.count用法:

   size_type    count(key_type  x)  const   

   注:如果mymap的key中有x,则函数返回1,否则返回0.

3.equal_range的用法:

pair

   equal_range ( const key_type& x );

pair

   equal_range ( const key_type& x ) const;

可以理解为该函数返回指向key为x的iterator.样例如下:

map mymap;

pair::iterator,map::iterator> pRet;

   mymap['b'] = 100;

   mymap['a'] = 200;

   mymap['c'] = 300;

   pRet = mymap.equal_range('a');

cout<<"lower bound points to : "< cout<first<<"=>"<second< cout<first<<"=>"<second<4.erase与find的用法:

  erase:

  void erase ( iterator position );

  size_type erase ( const key_type& x );

  void erase ( iterator first, iterator last );

  find:

  iterator find ( const key_type& x );

  const_iterator find ( const key_type& x ) const;

  样例代码:

  mymap.erase(mymap.find('b'));     //删除map中key为'b'的记录

5.insert用法:

  pair insert ( const value_type& x );

   iterator insert ( iterator position, const value_type& x );

  void insert ( iterator first, iterator last );

   注: x为map的一条记录,包括key和value,而不单指value.

   样例代码:

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int  main()

{

map mymap;

pair::iterator,bool> pRet;

map::iterator it;

   mymap['b'] = 100;

   mymap['a'] = 200;

   mymap['c'] = 300;

mymap.insert(pair('d',400));

mymap.insert(pair('e',500));

pRet = mymap.insert(pair('f',600));

   if(pRet.second)

cout<<"Perfect!"<   it = mymap.begin();

mymap.insert(it,pair('g',700));

mymap.insert(it,pair('h',800));

map anothermap;

   anothermap.insert(mymap.begin(),mymap.find('d'));

cout<<"mymap:"<   for(it=mymap.begin();it!=mymap.end();++it)

cout<<(*it).first<<"=>"<<(*it).second< cout<<"anothermap:"<   for(it=anothermap.begin();it!=anothermap.end();++it)

cout<<(*it).first<<"=>"<<(*it).second<   return 0;

}

6.key_comp和value_comp用法:

  key_compare key_comp ( ) const;

  value_compare value_comp ( ) const;

  样例代码:(key_comp)

#include

#include

#include

#include

#include

#include

#include

using  namespace  std;

int  main()

{

map mymap;

map::key_compare mycomp;

map::iterator it;

 char   highest;

 mycomp = mymap.key_comp();

 mymap['a']=100;

 mymap['c']=200;

 mymap['b']=300;

cout<<"mymap:"< highest = mymap.rbegin()->first;

 it = mymap.begin();

 do

 {

cout<<(*it).first<<"=>"<<(*it).second< } while (mycomp((*it++).first,highest));

cout< return  0;

}

 

 注:该函数可用于map中对key排序(可参考上面的代码)

 

 样例代码:(value_comp)

#include

#include

#include

#include

#include

#include

#include

#define Elem pair

using  namespace  std;

int  main()

{

map mymap;

map::iterator it;

 Elem   highest;

 mymap['d']=100;

 mymap['c']=200;

 mymap['b']=300;

cout<<"mymap:"<    highest = *mymap.rbegin();

 it = mymap.begin();

 do

 {

cout<<(*it).first<<"=>"<<(*it).second< } while (mymap.value_comp()(*it++,highest));

cout< return  0;

}

 

注:该函数也是对map的key排序。

 

7.lower_bound 和upper_bound的用法

  iterator lower_bound ( const key_type& x );

  const_iterator lower_bound ( const key_type& x ) const;

  iterator upper_bound ( const key_type& x );

  const_iterator upper_bound ( const key_type& x ) const;

  注:  lower_bound返回大于或等于x的第一个元素的iterator,upper_bound返回大于x的第一个元素的iterator.

  样例代码:

#include

#include

#include

#include

#include

#include

#include

#define Elem pair

using  namespace  std;

int  main()

{

map mymap;

map::iterator it,itlow,itup;

 Elem   highest;

 mymap['d']=100;

 mymap['b']=200;

 mymap['c']=300;

 mymap['a']=400;

 mymap['e']=500;

 itlow = mymap.lower_bound('c');

 itup = mymap.upper_bound('e');

 mymap.erase(itlow,itup);

 for (it=mymap.begin();it!=mymap.end();++it)

 {

cout<<(*it).first<<"=>"<<(*it).second< }

 return  0;

}

 

8.begin,clear,empty,end,max_size,=,[],rbegin,rend,size,swap与vecotr、list中的同名函数用法一样。

文档

map头文件的一些用法

【转载】map头文件的一些用法2010-11-2012:23:40|分类:C++|标签:|字号大中小订阅1.map基本用法:样例代码:#include#include#include#include#include#include#includeusingnamespacestd;intmain(){mapmymap;map::iteratorit;mymap['b']=100;mymap['a']=200;mymap['c']=300;for(it=mymap.begin();it!=mym
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top