PTA ― 7-19 输出全排列 (20 分)
7-19 输出全排列 (20 分) 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。 输入格式: 输入给出正整数n(<10)。 输入样例: 3 输出样例: 123 132 213 231 312 321 # include <stdio.h> int a [ 10 ] , b [ 10 ] , n ; void dfs ( int step ) { if ( step == n + 1 ) { for ( int i = 1 ; i <= n ; i ++ ) printf ( "%d" , a [ i ] ) ; printf ( "\n" ) ; return ; } for ( int i = 1 ; i <= n ; i ++ ) { if ( b [ i ] == 0 ) { a [ step ] = i ; b [ i ] = 1 ; dfs ( step + 1 ) ; b [ i ] = 0 ; } } return ; } int main ( ) { scanf ( "%d" , & n ) ; dfs ( 1 ) ; return 0 ; } 来源:51CTO 作者: 王睿丶 链接:https://blog.csdn.net/qq_27494201/article/details