迭代器iterator


1.用于迭代/遍历一个容器的接口,可以理解为一个超级指针
2、迭代器的用法:
(1)定义:容器类型::iterator 迭代器名
(2)遍历迭代器:所有支持迭代器的容器都会提供begin()和end()方法分别指向容器的头部和尾部
注意:end()指向容器最后一个元素的下一个位置,这个位置不存在有
意义的值。
迭代器的类型需要与容器定义的类型完全保持一致


map<int,string>::iterator it;
for(it = mp.begin(); it != mp.end(); it++)
{
    cout<<it->first<<" "<<it->second<<endl;
}
```

 3.map的成员函数


my_map.find(x);//查找关键字为x的元素,返回值是一个迭代器,没找到返回my_map. end()
my_map.count(x);//查找关键字为x的元素个数,返回值是无符号整型,找到返回1
my_map.erase(it);//删除 迭代器it 指向的元素,返回值为指向下一个元素的迭代器
my_map.clear();//清空
my_map.begin();//返回指向map头部的迭代器
my_map.end();//返回指向map末尾的迭代器
my_map.rbegin();//返回一个指向map尾部的逆向迭代器
my_map.rend();//返回一个指向map头部的逆向迭代器
my_map.empty();//map为空时返回true
my_map.size()//map的长度大小

map<int,string> :: reverse_iterator rit;//逆问迭代器的使用
for(it=mp.begin() ;it != mp.end() ;it++)
{
    cout << it->first << " " << it->second << endl;
}

map<int, string>
pair<int, string> p;
p. first=2001, p. second="xiaoming";
mp. insert (p) ;
mp[2002]="xiaohong"
mp. insert (make_pair(2000, "xiaole")) ;
mp. insert (pair<int, string>(2005, "xiaofang")) ;
map<int, string> :: iterator it;
it=mp.find(2001) ;
cout << it->first << " " << it->second << end1;
cout << mp. count(2000) << end1 ;
for(it=mp. begin() ;it != mp.end() ;it++)
{
    cout << it->first << " " << it->second << endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值