栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ std::vector count统计某个元素个数 是否存在某个值

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ std::vector count统计某个元素个数 是否存在某个值

        int nCount = std::count(strVec.begin(), strVec.end(), target);
        if (nCount > 0)
        {
            std::cout << "method2: find " << target << " exists." << std::endl;
        }

#include 
#include 
#include 

// 为了便于示例,声明全局容器
std::vector strVec;

void methods(const std::string& target)
{
    // 方法一:遍历容器,查找相等元素判断是否存在
    {
        for (const auto& item : strVec)
        {
            if (item == target)
            {
                std::cout << "method1: find " << target << " exists." << std::endl;
                break;
            }
        }
    }
    // 方法二:获取元素个数,通过个数判断是否存在
    {
        int nCount = std::count(strVec.begin(), strVec.end(), target);
        if (nCount > 0)
        {
            std::cout << "method2: find " << target << " exists." << std::endl;
        }
    }
    // 方法三:查询元素迭代器,通过迭代器有效性判断是否存在
    {
        auto iter = std::find(strVec.begin(), strVec.end(), target);
        if (iter != strVec.end())
        {
            std::cout << "method3: find " << target << " exists." << std::endl;
        }
    }
    // 方法四:查询相等元素的迭代器,通过迭代器有效性判断是否存在
    {
        auto iter = std::find_if(strVec.begin(), strVec.end(), [&](const std::string& item)->bool
            { return (item == target); });
        if (iter != strVec.end())
        {
            std::cout << "method4: find " << target << " exists." << std::endl;
        }
    }
}

int main()
{
    strVec = { "C", "C++", "Java", "Python", "Lua", "Sql" };
    // 场景1:查找Ruby
    std::cout << "Find Ruby" << std::endl;
    methods("Ruby");
    // 场景2:查找C++
    std::cout << "Find C++" << std::endl;
    methods("C++");

    system("pause");
    return 0;
}

// result

std::vector 判断vector容器中是否存在某元素 - kaizen - 博客园

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号