STL——map(映射)

本文详细介绍了C++ STL中的map容器使用方法,包括插入、查找、删除等操作及复杂度分析。同时展示了如何自定义键值比较规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<map>

map<string,int> m;

map根据键值查找的复杂度是log(n);

成员函数:

insert();例:m.insert(pair<int,string>(1,"d"));或者m[1]="d";

size();返回map中元素的个数

find();查找某个关键字,传入参数是key值,传出一个位置迭代器,通过map对象的方法获取的iterator数据类型是一个std::pair对象,包括两个数据 iterator->first和 iterator->second分别代表关键字和存储的数据。如果没有找到传回end();

erase();删除元素;删除某一个元素,删键值,也可以用迭代器删除一片元素,如:m.erase(m.begin(),m.end());

empty();判断是否为空,如果是返回true

注:如果要map的键值是一个结构体的话,就需要重载小于号;


 

  1. bool operator < (tagStudentinfo const& _A) const

  2.  
  3. { //这个函数指定排序策略,按niD排序,如果niD相等的话,按strName排序

  4.  
  5. if(niD < _A.niD) return true;

  6.  
  7. if(niD == _A.niD)

  8.  
  9. return strName.compare(_A.strName) < 0;

  10.  
  11. return false;

  12.  
  13.  

 

bool operator < (tagStudentinfo const& _A) const

{ //这个函数指定排序策略,按niD排序,如果niD相等的话,按strName排序

if(niD < _A.niD) return true;

if(niD == _A.niD)

return strName.compare(_A.strName) < 0;

return false;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值