递归 输出全排列
来源:互联网 发布:node.js 微信 编辑:程序博客网 时间:2024/05/18 23:14
请编写程序输出前n个正整数的全排列(0),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。
输入格式:
输入给出正整数n(<)。
输出格式:
输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a1,a2,⋯,an排在序列b1,b2,⋯,bn之前,如果存在k使得, 并且 ak+1<bk+1。
输入样例:
3
输出样例:
123132213231312
321
#include <stdio.h>int a[100];int visited[100];void p(int n,int len)//len表示排列的位置 {if(len==n)//递归出口 {for(int i=0;i<len;i++)printf("%d",a[i]);printf("\n");return;}for(int i=1;i<=n;i++){if(!visited[i]){a[len] = i; visited[i] = 1; p(n,len+1);visited[i] = 0;//第i次循环完成后,标记回复 }}}int main(){int n;scanf("%d",&n); p(n,0);return 0;}
阅读全文
0 0
- 递归输出全排列
- 递归 输出全排列
- 输出全排列--循环+递归
- 利用递归输出全排列
- 输出全排列(递归&非递归)
- 递归输出全排列和全组合
- 使用递归实现全排列输出
- 递归思想输出数组全排列
- 非递归实现输出全排列(或部分排列)
- JAVA递归和非递归输出字符串的全排列
- 递归复习,递归输出字符串的全排列
- 普通递归算法:输出n个数的所有全排列
- 非递归,按序输出集合的全排列
- 非递归,按序输出集合的全排列
- 递归 —— 全排列(带输出具体情况)
- 非递归的输出1-N的全排列
- C++输出全排列递归算法详细解释
- C++输出全排列递归算法详细解释
- luogu1131 [ZJOI2007][时态同步]
- 折纸问题(递归java)
- 如何快速转发CSDN博客
- JDK动态代理
- fiddler网络抓包神器的使用介绍
- 递归 输出全排列
- java 类型转换
- 算法分析与设计课程作业第七周#1#2
- 使用Disruptor的几个代码演示
- 第七周 【项目6
- python3读取大文件的行数的正确姿势
- pyqt环境搭建安装
- 41、我的C#学习笔记7
- 中消协表示关注“携程搭售”,APP与网页端现区分搭售与否