find()---string、vector、map/set

  • string find()

    (详细见上面string)

    string开始谈find()  查找是在处理数据中最重要的一种操作方式之一。

    stringfind()的应用( rfind()  类似,只是从反向查找,就是从string.length()-1的下标开始反向查找)

    原型如下:

asize_t findconst stringstrsize_t pos = 0const; //查找对象 - string类对象

bsize_t findconst char * ssize_t pos = 0const; //查找对象- 字符串

csize_t findconst char * ssize_t possize_t nconst; //查找对象- 字符串的前ñ个字符

dsize_t findchar csize_t pos = 0const; //查找对象- 字符

   

例子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/setfind方法),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()函数

       

posted @ 2022-09-01 15:18  atomxing  阅读(99)  评论(0编辑  收藏  举报