东莞网站建设实例分析网站登录验证码不显示
2026/5/14 2:04:06 网站建设 项目流程
东莞网站建设实例分析,网站登录验证码不显示,批量查询收录,做平面设计必看的网站本文是集合#xff08;set#xff09;上的算法#xff0c;这里的“集合”一词是元素集合的一般含义#xff0c;而不仅仅是std::set#xff0c;这篇文章是STL学习资源的一部分#xff0c;一次一点关于STL的知识。前提#xff1a;范围已排序。即这篇文章提到的所有算法都要…本文是集合set上的算法这里的“集合”一词是元素集合的一般含义而不仅仅是std::set这篇文章是STL学习资源的一部分一次一点关于STL的知识。前提范围已排序。即这篇文章提到的所有算法都要求输入范围是排序的。同样它们的输出范围当存在时也是排序的。二、取两个集合的部分数据STL具有4种互补算法可以取2个给定集合的不同部分。它们有一种常见的原型形式输入两个范围输出一个范围代码语言C自动换行AI代码解释templatetypename InputIterator1, typename InputIterator2, typename OutputIterator OutputIterator algo(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result);因此对于两个排序集合A和B可以这样调用代码语言C自动换行AI代码解释algo(A.begin(), A.end(), B.begin(), B.end(), result);result可以是vector上的std::back_inserter也可以是任何其他输出迭代器。假设有两个集合A和B。2.1、std::set_differencestd::set_difference将在A中而不是B中的所有元素复制到result中。也可以称为取非即NOT。示例展开代码语言C自动换行AI代码解释#include algorithm #include iterator #include set #include vector std::vectorint A {...} // sorted vector std::setint B {...} // std::set is always sorted std::vectorint results; std::set_difference(A.begin(), A.end(), B.begin(), B.end(), std::back_inserter(results));2.2、std::set_intersectionstd::set_intersection将既在A中也在B中的所有元素复制到result中。即交集。2.3、std::set_unionstd::set_union将A、B或两者中的所有元素复制到result中。对于同时存在于两者中的元素将取A的版本(除非在B中出现的公共元素比在A中出现的多在这种情况下也取其在B中的附加版本)。2.4、std::set_symmetric_differencestd::set_symmetric_difference只是简单地将在 A 中却不在 B 中的元素以及在 B 中却不在 A 中的元素复制到result中。std::set_symmetric_difference是一个特别好的算法示例虽然听起来很复杂但它实际上非常容易理解并且在日常编码中非常有用。这种情况在STL算法中经常发生。三、比较两个集合比较两个集合的算法不得不提到std::includes因为它操作的是集合即前面解释过的按顺序排列的元素集合。给定两个排序集合A和Bstd::include检查B的所有元素是否也在A中。函数原型代码语言C自动换行AI代码解释templatetypename InputIterator1, typename InputIterator2 bool std::includes(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2 );使用方式代码语言C自动换行AI代码解释bool AincludesB std::includes(A.begin(), A.end(), B.begin(), B.end());四、合并两个集合4.1、std::mergestd::merge用于将两个排序集合 合并为一个排序集合。函数原型代码语言JavaScript自动换行AI代码解释templatetypename InputIterator1, typename InputIterator2, typename OutputIterator OutputIterator merge(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result);给定两个排序集合A和B将A和B合并到从result开始的排序范围中。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询