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