当前位置: 首页 > news >正文

哪些网站可以做百科参考资料极简app制作器

哪些网站可以做百科参考资料,极简app制作器,情侣网站建设策划书,网站建设区别C之STL的algorithm#xff08;6#xff09;之排序算法#xff08;sort、merge#xff09;整理 注#xff1a;整理一些突然学到的C知识#xff0c;随时mark一下 例如#xff1a;忘记的关键字用法#xff0c;新关键字#xff0c;新数据结构 C 的排序算法整理 C之STL的al…C之STL的algorithm6之排序算法sort、merge整理 注整理一些突然学到的C知识随时mark一下 例如忘记的关键字用法新关键字新数据结构 C 的排序算法整理 C之STL的algorithm6之排序算法sort、merge整理一、排序算法1、sort算法2、random_shuffle 随机洗牌算法3、reverse 反转算法4、 merge 合并算法 总结 提示本文为 C 中sort、reverse、merge 的写法和举例 一、排序算法 1、sort算法 std::sort 是对一个容器的给定范围内进行排序的算法。 语法 templateclass RandomIt void sort(RandomIt first, RandomIt last);参数 first, last要排序的序列的迭代器范围。 返回 无返回值直接修改输入的序列。 对vector 排序示例 #include iostream #include vector #include algorithm int main() { std::vectorint v {5, 2, 4, 1, 3}; std::sort(v.begin(), v.end()); for (int i : v) { std::cout i ; } // 输出: 1 2 3 4 5 return 0; }对于map/set 由于 std::map 和 std::set 内部的元素已经是排序的所以通常不需要调用 std::sort。但如果你想要基于某个不同的标准来排序它们的元素你需要复制元素到一个新的容器中比如 std::vector然后使用 std::sort。 2、random_shuffle 随机洗牌算法 std::random_shuffle 用于打乱给定序列中元素的顺序。 语法 templateclass RandomIt void random_shuffle(RandomIt first, RandomIt last);参数 first, last要打乱顺序的序列的迭代器范围。 返回 无返回值直接修改输入的序列。 vector 示例 #include iostream #include vector #include algorithm #include ctime int main() { std::vectorint v {1, 2, 3, 4, 5}; std::srand(std::time(0)); // 设置随机种子 std::random_shuffle(v.begin(), v.end()); for (int i : v) { std::cout i ; } // 输出: 随机排列的1到5 return 0; }注意std::random_shuffle 在 C17 中被弃用推荐使用 random 库中的函数来生成随机数从而进行洗牌。 3、reverse 反转算法 std::reverse 用于反转给定序列中元素的顺序。 语法 templateclass BidirectionalIt void reverse(BidirectionalIt first, BidirectionalIt last);参数 first, last要反转的序列的双向迭代器范围。 返回 无返回值直接修改输入的序列。 vector 示例 #include iostream #include vector #include algorithm int main() { std::vectorint v {1, 2, 3, 4, 5}; std::reverse(v.begin(), v.end()); for (int i : v) { std::cout i ; } // 输出: 5 4 3 2 1 return 0; }对map/set 示例 std::map 和 std::set 是基于红黑树的关联容器因此它们的元素始终是按键排序的。你不能直接反转 map 或 set 的元素顺序因为它们不允许随机访问迭代器。但是可以复制它们的元素到一个可以反转的容器比如 std::vector然后反转那个容器。 这里是一个反转 map 中元素顺序的示例 #include iostream #include map #include vector #include algorithm int main() { std::mapint, std::string m {{1, one}, {2, two}, {3, three}}; std::vectorstd::pairint, std::string v(m.begin(), m.end()); std::reverse(v.begin(), v.end()); for (const auto pair : v) { std::cout pair.second : pair.first \n; } // 输出: three: 3 // two: 2 // one: 1 return 0; }在这个例子中我们首先创建了一个 std::map然后将它的元素复制到一个 std::vector 中。之后我们使用 std::reverse 来反转 vector 中的元素顺序并打印出反转后的结果。 4、 merge 合并算法 std::merge 是用于合并两个已排序的容器到第三个范围目标容器的算法。 templateclass InputIt1, class InputIt2, class OutputIt OutputIt merge(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, OutputIt d_first);参数 first1, last1第一个输入序列的迭代器范围。 first2, last2第二个输入序列的迭代器范围。 d_first目标序列的起始迭代器。 返回 返回指向目标序列中最后一个元素的下一个位置的迭代器。 vector 示例 #include iostream #include vector #include algorithm int main() { std::vectorint v1 {1, 3, 5}; std::vectorint v2 {2, 4, 6}; std::vectorint v3(v1.size() v2.size()); std::merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin()); for (int i : v3) { std::cout i ; } // 输出: 1 2 3 4 5 6 return 0; }注意std::merge 也不适用于 std::map 和 std::set因为它们已经是排序好的容器并且它们的元素不能直接合并到另一个 map 或 set 中。 总结 std::sort 用于对序列进行排序。 std::random_shuffle已弃用用于打乱序列中元素的顺序。 std::reverse 则用于反转序列中元素的顺序。 std::merge 适用于合并两个已排序的序列。 对于 map 和 set 这样的关联容器由于它们的元素是按键排序的通常不直接在这些容器上进行排序或反转操作而是将它们的元素复制到可以能够执行这些操作的vector容器中。
http://www.pierceye.com/news/172157/

相关文章:

  • 可以做exe的网站邯郸做紧固件网站
  • 电子商务网站开发的说法移动端首页尺寸
  • 普通网站服务器房地产营销门户网站开发
  • 免费做公司网站wordpress文章格式
  • 制作网站教学设计金湖县城乡建设局网站
  • 微商城网站建设咨询网站做的不满意
  • 装企工长网站开发互联网营销师考试内容
  • 广州高端网站定制公司哪家好全椒县城乡规划建设局网站
  • 物流网站毕业设计论文论坛网站模板下载
  • 代理上网蜗牛精灵seo
  • 网站怎么做用qq登录接入网络舆情监测分析系统
  • 怎么把几个网站做互通wordpress 英文站
  • 建设高端网站需要多少钱wordpress检测
  • 如何学习网站建设app嘉兴建站软件
  • 驻马店市建设工程网站平面设计培训班学费一般多少百度贴吧
  • 长沙网络建设的网站免费的个人简历模板word下载
  • 网站维护简单吗wordpress绿色两栏响应式主题
  • 二手站网站怎做福州网站建设的公司哪家好
  • dw如何做网站后台佛山行业网站建设
  • 如何做网站轮播大图简单网页制作成品代码
  • 网站怎么做uc整合查企业网站
  • 网站没被收录什么原因网站排名点击工具
  • 江西南昌建设厅网站商品展示软件
  • 眼镜企业网站建设方案2015做那些网站致富
  • 创建个人网站的流程建设网站聊天室
  • cms 学校网站上海模板网站
  • 网站建设投资风险分析公司做的网站费用如何做账
  • 网站建设费用核算科目DW做的网页用网站打不开
  • wordpress标签搜索引擎嘉兴市做网站优化
  • 网站更换关键词怎么做好wordpress post fonts