【递归入门】全排列
此题为递归算法入门级别题,题目来源计科老班
题目描述
排列与组合是常用的数学方法。
先给一个正整数 ( 1 < = n < = 10 )
例如n=3,所有组合,并且按字典序输出:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
输入
输入一个整数n( 1<=n<=10)
输出
输出所有全排列
每个全排列一行,相邻两个数用空格隔开(最后一个数后面没有空格)
样例输入
3
样例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
思路详解
首先从n个数中选出第一个数,将其排在第一个位置,并且标记其已经使用过。接着,第二位、第三位、第四位依次递归,直到n个数全部排列完成,输出结果。记住,递归返回时要释放标签。
代码
import java.util.Scanner;
public class Permutation {
int n;
int[] A;
boolean[] Mark;
public

这篇博客介绍了如何使用递归算法解决全排列问题。通过详细解释思路和展示代码,帮助初学者理解递归在排列问题中的应用。给出了输入输出样例,包括一个整数n的全排列生成过程。
最低0.47元/天 解锁文章
772

被折叠的 条评论
为什么被折叠?



