为了账号安全,请及时绑定邮箱和手机立即绑定

我想得到当前it指向的是数组中的第几个元素,就是当前数组的下标,请问有什么函数可以实现嘛?

我想得到当前it指向的是数组中的第几个元素,就是当前数组的下标,请问有什么函数可以实现嘛?

噜噜哒 2023-02-16 21:17:55
现在定义一个迭代器:vector<int>::iterator it = a.begin(); it != a.end(); ++it
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

你可以使用if(*it == n)
{num++;}使用num判断是vector的第几个元素。
一般没这么用的vetor的成员函数可以实现你想要的数据
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的函数

查看完整回答
反对 回复 2023-02-20
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

一种是简单点方法,最简单的方法,迭代器动的时候,sum++放在循环里,返回sum就好了,sum 的类型可以是size_t 或者int也行。

查看完整回答
反对 回复 2023-02-20
?
慕慕森

TA贡献1856条经验 获得超17个赞

it - a.begin() 得到一个 difference_type (signed integral type),由vector<int>决定

查看完整回答
反对 回复 2023-02-20
  • 3 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信