find()---string、vector、map/set
-
string find()
(详细见上面string)
从string开始谈find() 查找是在处理数据中最重要的一种操作方式之一。
string中find()的应用( rfind() 类似,只是从反向查找,就是从string.length()-1的下标开始反向查找)
原型如下:
(a)size_t find(const string&str,size_t pos = 0)const; //查找对象 - string类对象 (b)size_t find(const char * s,size_t pos = 0)const; //查找对象- 字符串 (c)size_t find(const char * s,size_t pos,size_t n)const; //查找对象- 字符串的前ñ个字符 (d)size_t find(char c,size_t pos = 0)const; //查找对象- 字符 |
例子1:
string: string a="ojbk"; int t=a.find('o'); //t=0 int t=a.find('o',0); //t=0 *注:返回坐标; 第二个是从下标0开始查找
int t=a.find("oj") //t=0 int t=a.find("oj",0) //t=0 *注:返回坐标,查找字符串的第一个字符的坐标.第二个是从下标0开始查找
|
string在c++其实可以算是数据结构的一种 在c++的数据结构中string都会单独拿出一章来说 它具有自己单独的库,还是很强的。
-
vector find()
(详细见上面vector)
vector_find方法的使用
不同于map/set(map/set有find方法),vector本身是没有
find这一方法的,其find函数是依靠algorithm来实现的
所以要使用#include<algorithm>
template<class InputIterator, class T>InputIterator find (InputIterator first, InputIterator last, const T& val) |
例如:
include<algorithm> include<vector>
vector<int>::iterator it = find(vec.begin(),vec.end(),1); if(it != vec.end()) cout<<"found"<<endl; else cout<<"not found"<<endl; |
-
set/map find()
他们底层是由红黑树实现的,自带find()函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)