C++初学者指南-5.标准库(第一部分)--标准库查询存在算法

C++初学者指南-5.标准库(第一部分)–标准库查询存在算法


不熟悉 C++ 的标准库算法? ⇒ 简介

any_of / all_of / none_of

在这里插入图片描述
如果在输入范围(所有元素,任意一个元素或没有元素)内check的结果为true,则返回true。
cppreference

std::vector<int> v {0,2,9,1,3,8,5,2,9};
auto const check = [](int x) { return x >= 1; };
// 在子范围内(如图所示):
cout << all_of (begin(v)+1, begin(v)+7, check);  // true
cout << any_of (begin(v)+1, begin(v)+7, check);  // true
cout << none_of(begin(v)+1, begin(v)+7, check);  // false
// 整个vector:
cout << all_of (begin(v), end(v), check);  // false
cout << any_of (begin(v), end(v), check);  // true
cout << none_of(begin(v), end(v), check);  // false

运行示例代码

在这里插入图片描述
cppreference

std::vector<int> v {0,2,9,1,3,8,5,2,9};
auto const check = [](int x) { return x >= 1; };
cout << std::ranges::all_of (v, check);  // false
cout << std::ranges::any_of (v, check);  // true
cout << std::ranges::none_of(v, check);  // false

运行示例代码

count

在这里插入图片描述
cppreference

std::vector<int> v {5,2,9,1,3,2,5,2,2,9};
// 子范围内计数(如图所示):
auto n = count(begin(v)+1, begin(v)+8, 2);  // n = 3
// 整个vector计数:
auto m = count(begin(v), end(v), 2);  // m = 4

运行示例代码

在这里插入图片描述
cppreference

std::vector<int> v {2,9,1,3,2,5,2};
cout << std::ranges::count(v, 3);  // 1
cout << std::ranges::count(v, 2);  // 3
cout << std::ranges::count(v, 7);  // 0

运行示例代码

count_if

在这里插入图片描述
cppreference

std::vector<int> v {5,4,9,1,3,2,5,6,8,9};
auto const is_even = [](int x) { return !(x & 1); };
// 子范围内计数(如图所示):
auto n = count_if (begin(v)+1, begin(v)+8, is_even);  // n = 3
// 整个vector计数:
auto m = count_if (begin(v), end(v), is_even);  // m = 4

运行示例代码

在这里插入图片描述
cppreference

std::vector<int> v {4,9,1,3,2,5,6};
auto const is_even = [](int x) { return !(x & 1); };
auto n = std::ranges::count_if(v, is_even);  // n = 3

运行示例代码

相关内容

视频:count, count_if and more by Conor Hoekstra
标准算法概述
C++标准库算法介绍
标准序列容器(vector、deque、list、…)
标准关联容器(map、set、…)
标准序列视图
cppreference:算法库
cppreference:容器库
视频:什么是 C++ 标准库?
视频:一小时内掌握 105 个 STL 算法 (Jonathan Boccara,2018)
C++ 之旅:容器和算法
算法概述表:
在这里插入图片描述
附上原文链接
如果文章对您有用,请随手点个赞,谢谢!^_^

相关推荐

  1. C++标准模板(STL)- 算法

    2024-07-21 22:00:02       107 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 22:00:02       171 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 22:00:02       189 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 22:00:02       157 阅读
  4. Python语言-面向对象

    2024-07-21 22:00:02       170 阅读

热门阅读

  1. easyExcel

    easyExcel

    2024-07-21 22:00:02      38 阅读
  2. 什么是等保测评

    2024-07-21 22:00:02       32 阅读
  3. acml可用订阅到起始位姿

    2024-07-21 22:00:02       34 阅读
  4. Windows 12 网页版

    2024-07-21 22:00:02       31 阅读
  5. 网络融合的艺术:Xcode中应用Web服务集成全指南

    2024-07-21 22:00:02       41 阅读
  6. 提示工程的技术与策略分类

    2024-07-21 22:00:02       35 阅读
  7. css font 优化

    2024-07-21 22:00:02       36 阅读
  8. 基于深度学习的金融交易

    2024-07-21 22:00:02       42 阅读
  9. MATLAB中balance函数用法

    2024-07-21 22:00:02       40 阅读
  10. 栈和队列之间有哪些区别

    2024-07-21 22:00:02       37 阅读
  11. python 爬虫技术 第04节 函数和模块

    2024-07-21 22:00:02       36 阅读
  12. 打造安全堡垒:Xcode应用权限管理全解析

    2024-07-21 22:00:02       35 阅读
  13. MSPM0G3507——K210和M0通信(K210给M0发数据)

    2024-07-21 22:00:02       35 阅读
  14. Vue3替代vue2就好比自动驾驶代替出租网约车

    2024-07-21 22:00:02       40 阅读