笔记——全排列函数
来源:互联网 发布:买黄金软件下载 编辑:程序博客网 时间:2024/06/03 20:28
#include <algorithm>
#include <stdio.h>
using namespace std;
// 即使有重复的元素也会生成所有的排列
// next_permutation是按照字典序来生成下一个排列的,最后一个数列为:n,n-1...4,3,2,1
#define MAX_N 100
int perm[MAX_N];
void permutation(int n)
{
for(int i=0;i<n;i++)
{
perm[i]=n-i;
}
do
{
for(int i=0;i<n;i++)
{
printf("%d ",perm[i]);
}
printf("\n");
}while (next_permutation(perm,perm+n));
//所有的排列都生成后,next_permutation会返回false
return ;
}
void permutation2(int n)
{
for (int i=0;i<n;i++)
{
perm[i]=i;
}
do
{
for(int i=0;i<n;i++)
{
printf("%d ",perm[i]);
}
printf("\n");
}while(next_permutation(perm,perm+n));
//所有的排列都生成后,next_permutation会返回false
return ;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
printf("1\n");
permutation(n);
printf("2\n");
permutation2(n);
}
return 0;
}
#include <stdio.h>
using namespace std;
// 即使有重复的元素也会生成所有的排列
// next_permutation是按照字典序来生成下一个排列的,最后一个数列为:n,n-1...4,3,2,1
#define MAX_N 100
int perm[MAX_N];
void permutation(int n)
{
for(int i=0;i<n;i++)
{
perm[i]=n-i;
}
do
{
for(int i=0;i<n;i++)
{
printf("%d ",perm[i]);
}
printf("\n");
}while (next_permutation(perm,perm+n));
//所有的排列都生成后,next_permutation会返回false
return ;
}
void permutation2(int n)
{
for (int i=0;i<n;i++)
{
perm[i]=i;
}
do
{
for(int i=0;i<n;i++)
{
printf("%d ",perm[i]);
}
printf("\n");
}while(next_permutation(perm,perm+n));
//所有的排列都生成后,next_permutation会返回false
return ;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
printf("1\n");
permutation(n);
printf("2\n");
permutation2(n);
}
return 0;
}
阅读全文
0 0
- 笔记——全排列函数
- 全排列函数——next_permutation() & prev_permutation()
- 蓝桥杯—next_permutation()全排列函数
- 全排列—递归
- python算法分析 笔记 ——打印全排列
- 算法笔记——【递归】全排列问题
- 全排列函数
- 全排列 函数模板
- c++全排列函数
- 排序函数-全排列
- c++全排列函数
- Perm--全排列函数
- 全排列 next_permutation()函数
- 全排列函数
- 学习笔记-全排列
- next_permutation()——全排列
- 搜索——全排列
- 【转载】2.2基本算法之递归和自调用函数 全排列分析—用next_permutation函数,全搞定
- 使用servlet 实现简单的验证码
- SpringMVC AJAX异步文件上传
- 浅谈C++中指针和引用的区别
- 敌兵布阵 HDU
- Xstream的序列化与反序列化
- 笔记——全排列函数
- AE开发常见问题
- linux命令大全
- android版本的tensorflow 1.3
- C#绘制等边三角形和正六边形
- 常用框架文章
- 线性表(C++)
- 高并发重复请求的去重处理(转)
- 机器学习实战-数据探索(异常值处理)