详谈全排列next_permutation() 函数的用法(推荐)
发布时间:2021-01-01 03:36 所属栏目:[创业] 来源:网络整理
导读:这是一个c++函数,包含在头文件algorithm里面,下面是基本格式。 1 int a[];2 do{3 4 }while(next_permutation(a,a+n)); 下面的代码可产生1~n的全排列 #include stdio.h#include algorithmusing namespace std;int main(){ int n; while(scanf("%d", for(int
这是一个c++函数,包含在头文件<algorithm>里面,下面是基本格式。 1 int a[]; 2 do{ 3 4 }while(next_permutation(a,a+n)); 下面的代码可产生1~n的全排列 #include <stdio.h> #include <algorithm> using namespace std; int main(){ int n; while(scanf("%d",&n)&&n){ int a[1000]; for(int i=0;i<n;i++){ scanf("%d",&a[i]); } sort(a,a+n);//可以自行测试一下删除后的结果 do{ for(int i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); }while(next_permutation(a,a+n)); } return 0; } 例如输入 3 1 0 2 如果有sort() 输出为 0 1 2 若无 则输出为 1 0 2 可以发现少了许多种组合方法。 不过,仔细比较各种组合方法和有无sort()的输出,可以发现函数next_permutation()是按照字典序产生排列的,并且是从数组中当前的字典序开始依次增大直至到最大字典序。 以上这篇详谈全排列next_permutation() 函数的用法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
网友评论
推荐文章
-
链表概述 链表是一种常见的重要的数据结构。它是动态...[详细]
-
详谈全排列next_permutation() 函数的用法(推荐)
这是一个c++函数,包含在头文件algorithm里面,下面是...[详细]
-
利用boost来获取当前时间又方便快捷,还不用考虑跨平...[详细]
-
对称矩阵及稀疏矩阵的压缩存储 1.稀疏矩阵 对于那些零...[详细]
-
Windows下调整Tomcat启动参数 Tomcat默认可以使用的内...[详细]
-
打开注册表: win+R ,输入 regedit 点击确定 你会看到...[详细]
-
C语言中的操作符优先级的详细介绍 C语言中操作符的优...[详细]
-
1、在UI设计界面放置两个输入lineEdit、一个输出TextB...[详细]
-
本文主要给大家介绍了关于如何获取C++类成员虚函数地...[详细]
-
本篇章节讲解C++中的聚合类。供大家参考研究具体如下...[详细]
热点阅读