枚举排列
来源:互联网 发布:如何查看淘宝联盟pid 编辑:程序博客网 时间:2024/06/02 13:52
输入整数n,按照从小到大顺序给出所有排列:
n=3则全排列为(从小到大):
123
132
213
231
312
321
采用递归思想:
先输出所有以1开头的序列----->再输入以2开始的排列------>接着是以3开始的。。。。最后是以n开始的序列。分析题意可知,
以i(i=1,2,3...n)开始的序列,后面是1,2,。。。,i-1,i+1,。。。n数字的排列,并且也是按照从大到校。在完成后面是1,2,。。。,i-1,i+1,。。。n数字的排列后再加上前面的i输出即可
思路:
void print_per(序列A,集合S){
if(S为空)输出A
else{
for (i=1;i<=n;i++)
{
如果i不在以排序序列A中 在A末尾加上i并进入一次迭代
}//从小到大依次考虑
}
}
void print_permutation(int *a,int n,int index){int i,j;if(index==n){for(i=0;i<n;i++)cout<<a[i]<<" ";cout<<endl;}else { for(i=1;i<=n;i++){ int f=0; for(j=0;j<index;j++) if(a[j]==i)f=1; if(f==0){a[index]=i;print_permutation(a,n,index+1);} } }}//index 为待确定元素在数组a中位置
0 0
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 枚举排列
- 关于排列枚举算法
- 递归枚举全排列
- 枚举全排列
- 枚举全排列
- LeetCode 215. Kth Largest Element in an Array
- oracle中实现自增id
- 深度神经网络(DNN)的正则化
- code 10-2 中KMeans函数PAD图
- UVA 12657 Boxes in a Line 模拟 双向链表
- 枚举排列
- Leetcode 202
- std::map::erase的用法及陷阱
- 异步解决方案Promise
- 51nod 1287 加农炮【二分】
- 1101.Quick Sort (25)
- 148. Sort List
- 程序员思维训练500题(附带答案)
- springmvc和mybatis整合 之 三、整合dao