7-1 h0193. 排列
给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。
现在,请你按照字典序将所有的排列方法输出。
共一行,包含一个整数n。1≤n≤9
按字典序输出所有排列方案,每个方案占一行。
3
解释
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
#include
int n = 0;
int book[10] = { 0 };
int arr[10] = { 0 };
int sort(int x)
{
if (x == n)
{
for (int j = 0; j < n; j++)
{
printf("%d ", arr[j]);
}
printf("\n");
return;
}
for (int i = 0; i < n; i++)
{
if (!book[i])
{
arr[x] = i+1;
book[i] = 1;
sort(x + 1);
book[i] = 0;
}
}
}
int main()
{
scanf("%d", &n);
sort(0);
return 0;
}
思路来源:DFS求全排列_哔哩哔哩_bilibili