美文网首页我爱编程
【C++】使用find函数快速定位元素

【C++】使用find函数快速定位元素

作者: 小黑天天快乐 | 来源:发表于2019-05-14 11:02 被阅读5次

    当有了STL,你还在用遍历的土方法定位元素吗?

    今天就来介绍一下,如何使用algorithm库里的find函数快速定位数组或向量中的元素。

    首先当然要包含头文件:

     #include <algorithm>
    

    它的基本语法是这样的:

    iterator find( iterator start, iterator end, const TYPE& val );
    

    参数就是要查找的范围的起始和结束位置(注意区间是左闭右开的)以及要查找的值。

    比如查找向量中的值:

    int num_to_find = 3;
    vector<int> v1;
    for (int i = 0; i < 10; i++)
    {
        v1.push_back(i);
    }
    vector<int>::iterator result;
    result = find(v1.begin(), v1.end(), num_to_find);
    if (result == v1.end())
    {
        cout << "Did not find any element matching " << num_to_find << endl;
    }
    else
    {
        cout << "Found a matching element: " << *result << endl;
    }
    

    又比如查找一个静态数组中的值:

    int nums[] = { 3, 1, 4, 1, 5, 9 }; 
    int num_to_find = 3; 
    int start = 0; 
    int end = 2; 
    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; 
    }
    

    :记录以备忘

    相关文章

      网友评论

        本文标题:【C++】使用find函数快速定位元素

        本文链接:https://www.haomeiwen.com/subject/yenjaqtx.html