C++中的find函数在非string类中怎么使用啊? 30

C++中的find函数在非string类中怎么使用啊?第六题... C++中的find函数在非string类中怎么使用啊?第六题 展开
 我来答
Alljhatv
2018-06-10 · TA获得超过681个赞
知道小有建树答主
回答量:408
采纳率:87%
帮助的人:184万
展开全部

可以用<algorithm>中的find函数实现。

用法:

template <class InputIterator, class T>
   InputIterator find (InputIterator first, InputIterator last, const T& val);

传入两个迭代器 first 和 last,和一个值 val,返回在 [first, last) 范围内第一个与 val 相等的值的位置的迭代器(使用 == 运算符比较);若没有找到,则返回 last。

例如,查找 vector<int> v 中第一个值为 x 的位置的迭代器,可以用

vector<int>::iterator i = find(v.begin(), v.end(), x);

详见:链接

参考代码:

#include <vector>
#include <algorithm>
using namespace std;
int frequency(vector<int> v, int x)
{
int times = 0;
for (vector<int>::iterator i = find(v.begin(), v.end(), x); i != v.end(); i = find(i + 1, v.end(), x))
++times;
return times;
}
爱笑的柯南推理
2018-06-10 · TA获得超过6191个赞
知道大有可为答主
回答量:6693
采纳率:65%
帮助的人:1133万
展开全部
string类的查找函数: intfind(charc,intpos=0)const;//从pos开始查找字符c在当前字符串的位置 intfind(constchar*s,intpos=0)const;//从pos开始查找字符串s在当前串中的位置 intfind(constchar*s,intpos,intn)const;//从pos开始查找字符串s中前n个字符在当前串中的位置 intfind(conststring&s,intpos=0)const;//从pos开始查找字符串s在当前串中的位置 //查找成功时返回所在位置,失败返回string::npos的值 intrfind(charc,intpos=npos)const;//从pos开始从后向前查找字符c在当前串中的位置 intrfind(constchar*s,intpos=npos)const; intrfind(constchar*s,intpos,intn=npos)const; intrfind(conststring&s,intpos=npos)const; //从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值 intfind_first_of(charc,intpos=0)const;//从pos开始查找字符c第一次出现的位置 intfind_first_of(constchar*s,intpos=0)const; intfind_first_of(constchar*
追问
大哥,在非string 类中的用法啊,不是string类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式