输出从1~n的全排列
来源:互联网 发布:ie11不支持java插件 编辑:程序博客网 时间:2024/05/16 12:46
思想:采用递归的方式,比如第一次取1,那么剩下的2~n进行全排列,以此类推。
#include <stdio.h>#include <stdlib.h>#include <string.h>void print(int *pers, int n){int i =0;for(i = 0; i < n; i++){printf("%d", pers[i]);}printf("\n");}/* *pers保存已经排列的数,cur标记当前pers中的排列位置 * */int permutation(int *pers, int n, int cur){int i = 0, j = 0;if(cur == n){print(pers, n);}else{for(i = 1; i <= n; i++) //每次都是1~n取数,已有数的排除通过内循环剔除{int ok = 1;for(j = 0; j < cur; j++) //遍历已取数{if(pers[j] == i){ok = 0;break;}}if(ok){pers[cur] = i;permutation(pers, n, cur + 1);}}}}void main(){int n;scanf("%d", &n);int *pers = (int *)malloc(n * sizeof(int));permutation(pers, n, 0);}
0 0
- 输出从1~n的全排列
- 输出 1 到 n 的全排列
- 输出n的全排列
- 输出n的全排列
- 输入一个数n,输出1~n的全排列
- 非递归的输出1-N的全排列
- 输出一个数n的全排列
- 输出 0----N 的全排列
- 1-n的全排列
- n的全排列
- n的全排列
- n的全排列
- 普通递归算法:输出n个数的所有全排列
- 输出N个字母的全排列问题
- 输出N个不同字母的全排列
- 全排列的输出
- 1-N全排列
- php实现通过图的深度优先遍历输出1,2,3...n的全排列
- harris corner detector java实现
- Android笔记---ComponentName的用法
- LSGO软件技术团队2015~2016学年第四周(0921~0927)总结
- 基本属性与特殊属性
- HDU 4893(线段树区间更新)
- 输出从1~n的全排列
- 自定义chrome的安装目录
- POJ 1862 Stripies
- django model filter distinct
- codeforces 553A Kyoya and Colored Balls(组合数学)
- CSDN停站公告
- 淘宝穿衣搭配算法_方案二
- 桩模块和驱动模块
- C语言用数组完成线性表得增删