展开全部
可以用<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;
}
展开全部
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类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询