C++标准库find简单用法

来源:互联网 发布:房地产大数据 走势 编辑:程序博客网 时间:2024/05/22 10:31
#include <iostream>#include <vector>#include <algorithm>//注意要包含该头文件using namespace std;//例一,在数组中查找int main(){int nums[] = { 3, 1, 4, 1, 5, 9 };int num_to_find = 5;int start = 0;int end = 6;int* result = find( nums + start, nums + end, num_to_find );    if( result == nums + end ) {cout<< "Did not find any number matching " << num_to_find << endl;} else { cout<< "Found a matching number: " << *result << endl;}return 0;}/*例二,在容器中查找:int main(){        vector<int> v;int num_to_find=25;//要查找的元素,类型要与vector<>类型一致        for(int i=0;i<10;i++)                v.push_back(i*i);        vector<int>::iterator iter=std::find(v.begin(),v.end(),num_to_find);//返回的是一个迭代器指针        if(iter==v.end())            cout<<"ERROR!"<<endl;        else               //注意迭代器指针输出元素的方式和distance用法            cout<<"the index of value "<<(*iter)<<" is " << std::distance(v.begin(), iter)<<std::endl;        return 0;}*/#include <algorithm>#include <iostream>using namespace std;void main(){    const int ARRAY_SIZE = 8 ;    int IntArray[ARRAY_SIZE] = { 1, 2, 3, 4, 4, 5, 6, 7 } ;    int *location ;   // stores the position of the first                      // matching element.    int i ;    int value = 4 ;    // print content of IntArray    cout << "IntArray { " ;    for(i = 0; i < ARRAY_SIZE; i++)        cout << IntArray[i] << ", " ;    cout << " }" << endl ;    // Find the first element in the range [first, last + 1)    // that matches value.    location = find(IntArray, IntArray + ARRAY_SIZE, value) ;    //print the matching element if any was found    if (location != IntArray + ARRAY_SIZE)  // matching element found        cout << "First element that matches " << value             << " is at location " << location - IntArray << endl;    else                                    // no matching element was                                            // found        cout << "The sequence does not contain any elements"             << " with value " << value << endl ;    }