1、is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2):C11版本,判断两个序列是否为同一元素集的两个排列。

    std::vector<int> c1 = {1, 2, 3, };std::vector<int> c2 = {1, 2, 3, 1, 3};//判断两个序列是否为同一元素集的两个排序bool i = std::is_permutation(c1.begin(), c1.end(), c2.begin());std::cout << (int)i;//打印结果:1

2、is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, BinaryPredicate pred):C11版本,重载版本。

自己实现pred,向算法定制操作。

3、next_permutation(BidirectionalIterator first, BidirectionalIterator last):n个元素有n!种排列。这些排列中,规定升序序列为最小排列,降序序列为最大的排列,任意两个排列按照字典序分出大小。该函数返回当前序列作为一个排列按字典序的下一个排列。

    std::vector<int> c = {1, 2, 3, 4, 5};std::next_permutation(c.begin(), c.end());for (auto var : c){std::cout << var << ",";}//打印结果:1,2,3,5,4,

4、next_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp):重载版本。

自己实现comp,向算法定制操作。

5、prev_permutation(BidirectionalIterator first, BidirectionalIterator last):返回当前序列作为一个排列按字典序的上一个排列。

    std::vector<int> c = {1, 2, 3, 4, 5};std::prev_permutation(c.begin(), c.end());for (auto var : c){std::cout << var << ",";}//打印结果:5,4,3,2,1,

6、prev_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp):重载版本。

自己实现comp,向算法定制操作。

转载于:https://www.cnblogs.com/dongerlei/p/5147591.html

泛型算法(二十三)之排列算法相关推荐

  1. 多任务进化优化算法(二) 多因子进化算法(MFEA)的理论基础、多任务贝叶斯优化以及MFEAII简介

    摘要 ​ 此篇博客主要介绍了MFEA理论推导及其改进算法MFEA-II.在多任务优化的情景下,如果任务之间存在潜在关系,那么高质量的解在这些任务之间的转移可以显著提高算法的性能.然而有的时候缺乏关于任 ...

  2. (二十三)图像相似度比较哈希算法

    图像相似度比较哈希算法 相似图像搜索的哈希算法有三种: 1.均值哈希算法 2.差值哈希算法 3.感知哈希算法 什么是哈希(Hash) • 散列函数(或散列算法,又称哈希函数,英语: Hash Func ...

  3. 通信算法之二十三:5G NR的LDPC编码与译码

    [转载] LDPC码即低密度奇偶校验码(Low Density Parity Check Code,LDPC) LDPC码最早在20世纪60年代由Gallager在他的博士论文中提出,但限于当时的技术 ...

  4. 【C++】C++11 STL算法(二):修改序列的操作(Modifying sequence operations)

    目录 一.copy.copy_if 1.原型: 2.说明: 3.官方demo 二.copy_n 1.原型: 2.说明: 3.官方demo 三.copy_backward 1.原型: 1.说明: 1.官 ...

  5. 十三、熵编码算法(3):CAVLC原理

    GitHub代码地址:点击这里 上下文自适应的变长编码(Context-based Adaptive Variable Length Coding, CAVLC) 1. 引言 在前述的几章节的博文/视 ...

  6. 目标检测与识别算法综述:从传统算法到深度学习(二)

    作   者:XJTU_Ironboy 时   间:2018年11月 联系方式:tzj19970116@163.com 本文结构: 摘要 介绍 2.1 大致框架 2.2 测试评价指标 2.3 相关比赛介 ...

  7. 【Python】实现二维装箱Bottom-Left算法及用人工蜂群算法改进

    目录 1 题目 2 装箱算法 2.1 所有装箱算法 2.2 Bottom-Left具体算法过程 3 Python 实现 3.1 main.py主函数 3.2 overlap函数 3.3 finalPo ...

  8. 《MATLAB智能算法30个案例》:第23章 基于蚁群算法的二维路径规划算法

    <MATLAB智能算法30个案例>:第23章 基于蚁群算法的二维路径规划算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析& ...

  9. 基础夯实:基础数据结构与算法(二)

    基础夯实:基础数据结构与算法(二) 常见的10种算法 1.递归算法 例题1:计算n! 例题2:斐波那契数列 例题3:递归将整形数字转换为字符串 例题4:汉诺塔 例题5:猴子吃桃 例题6:N皇后问题 2 ...

  10. 三十三、分治算法---汉诺塔问题

    一.分治算法的介绍 分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或 相似的子问题,再把子问题分成更小的子问题--直到最后子问题可以 ...

最新文章

  1. WebForm服务器验证控件与前端js自定义验证共同使用
  2. 网络产品:思科、H3C 光模块的识别和性能参数讲解
  3. Matlab实用程序--图形应用-条形图和阶梯形图
  4. 【NLP】图解GPT-2(完整版)
  5. iOS-QQ临时对话、QQ群申请跳转
  6. MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。...
  7. JavaScrip入门-变量计算%函数
  8. 涉及反射/内省/泛型的优化实践
  9. python 去掉文件后缀_python从zip中删除指定后缀文件(推荐)
  10. 海底捞发布公告 预计去年最高亏损45亿
  11. html垂直线性渐变,html5线性渐变
  12. 物联网部署的5个阶段
  13. 转: 技巧/诀窍:在ASP.NET中重写URL
  14. MyBaits动态sql语句
  15. 单继承、多继承、菱形继承的虚函数表
  16. 【供应链架构day5】美团供应链架构的演进之道 - 团购时代
  17. 物理层-宽带接入技术
  18. CQC认证与3C认证的区别是什么
  19. power bi报表html,数据可视化系列:Power BI基于Web数据的报表制作(经典级示例)
  20. element-ui tabs标签嵌套使用时 基础下划线不显示的问题

热门文章

  1. 【CodeForces - 144D】Missile Silos(单源最短路,枚举中间边,枚举情况可能性)
  2. 【qduoj - 1121】小明的贪心题(Dijkstra最短路 + 最短路条数)
  3. 机器学习笔记(十):机器学习系统的设计
  4. java私有成员的访问_java – 使用私有成员或公共访问器的方法
  5. html动态计算高度,透明半透明背景
  6. ad20中怎么多选操作改层_在操作系统中CPU是怎么调度的
  7. Python(1)-源起、设计目标、设计哲学、特点
  8. java界面化_java怎么实现图形化界面
  9. Synchronization 进程锁
  10. 方向盘的正确驾驭方法