查找学习STL的算法函数算法原型应用举例
STL(Standard Template Library,标准模板库)是C++标准库的一部分,提供了一系列的模板类和函数,用于支持通用的数据结构和算法。下面是一些常见的STL算法函数及其应用举例:
-
find:用于在容器中查找指定元素的位置。
- 原型:
InputIterator find (InputIterator first, InputIterator last, const T& val); - 应用举例:
vector<int> nums = {1, 2, 3, 4, 5}; auto it = find(nums.begin(), nums.end(), 3); if (it != nums.end()) { cout << "找到了元素 3,位置为:" << distance(nums.begin(), it) << endl; }
- 原型:
-
sort:用于对容器中的元素进行排序。
- 原型:
void sort (RandomAccessIterator first, RandomAccessIterator last); - 应用举例:
vector<int> nums = {5, 2, 4, 1, 3}; sort(nums.begin(), nums.end()); cout << "排序后的结果:"; for (const auto& num : nums) { cout << num << " "; } cout << endl;
- 原型:
-
reverse:用于对容器中的元素进行反转。
- 原型:
void reverse (BidirectionalIterator first, BidirectionalIterator last); - 应用举例:
vector<int> nums = {1, 2, 3, 4, 5}; reverse(nums.begin(), nums.end()); cout << "反转后的结果:"; for (const auto& num : nums) { cout << num << " "; } cout << endl;
- 原型:
-
accumulate:用于计算容器中所有元素的累加和。
- 原型:
T accumulate (InputIterator first, InputIterator last, T init); - 应用举例:
vector<int> nums = {1, 2, 3, 4, 5}; int sum = accumulate(nums.begin(), nums.end(), 0); cout << "累加和为:" << sum << endl;
- 原型:
-
count:用于计算容器中指定元素的个数。
- 原型:
Count count (InputIterator first, InputIterator last, const T& val); - 应用举例:
vector<int> nums = {1, 2, 2, 3, 2, 4, 2, 5}; int numCount = count(nums.begin(), nums.end(), 2); cout << "元素 2 的个数为:" << numCount << endl;
- 原型:
这些只是STL算法函数中的一小部分,STL还提供了很多其他有用的算法函数,如查找最大值、最小值、合并容器等。你可以参考C++标准库的官方文档或其他相关教程以了解更多STL算法函数的使用
原文地址: https://www.cveoy.top/t/topic/hGdQ 著作权归作者所有。请勿转载和采集!