#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int n;
int used[10] = { 0 };
int a[10] = { 0 };
void printf_() {
for (int i = 1; i <= n; i++)
printf("%d", a[i]);
printf("\n");
}
void dfs(int k) {
if (k == n + 1) {
printf_();
return;
}
for (int i = 1; i <= n; i++) {
if (!used[i]) {
used[i] = true;
a[k] = i;
dfs(k + 1);
used[i] = false;
}
}
}
int main() {
scanf("%d", &n);
dfs(1);
}
本文介绍了一个使用C语言实现的全排列算法。通过递归深度优先搜索(DFS)的方法来生成所有可能的数列排列,并打印出来。该程序首先读取用户输入的整数数量,然后递归地构建每一种可能的排列。
1075

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



