C++ STL Map

1.定义并构造Map

map<对象1,对象2> 变量名;

例如map<string, Student> StudentBook;

2.使用insert插入数据

 (1)pair<iterator, bool> insert( const pair<KEY_TYPE, VALUE_TYPE> &val )

该pair的模板参数就是该map容器的键值类型和值的类型。返回值也是一个pair,不过其模板参数是迭代器和bool,在这个返回值中,迭代器表示的是插入的数据在容器中的位置,bool值表示的是是否插入成功。

 (2)iterator insert( iterator pos, const pair<KEY_TYPE, VALUE_TYPE> &val )

也是表示在容器中插入一个pair,不过该方法给出一个表示目标位置的迭代器(第一个参数)。其目的是在目标位置上插入这个pair。该方法的返回值也是一个迭代器,表示这个pair实际插入的位置。

 (3)void insert( input_iterator start, input_iterator end );

注意:如果向迭代器中插入一个已有的键值对,则不能成功插入数据,而返回值的迭代器成员执行拥有该键值的元素。

将一个由输入迭代器的区间插入到容器中,该迭代器去接是左闭右开的。

例如:

map<int, int> m;

typedef pair<int, int> VALUE;

typedef map<int, int>::iterator MAP_ITER;

typedef pair< MAP_ITER, bool > RESULT_PAIR;

//(1)

m.insert( VALUE( 0, 1) );

RESULT_PAIR res = m.insert( VALUE( 1,11) );

//(2)

MAP_ITER iter = m.insert( m.begin(), VALUE( 2, 12) );

//(3)

map <int, int> m_copy;

m_copy.insert( m.begin(), m.end() );

3.查找数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值