#include <iostream>
using namespace std;
const int N = 1000;
int vis[N];
int val[N];
void print(int n,int* x,int l)
{
int i;
bool flag = false;
for (i = 0; i < n; i++)
{
if (vis[i] == 0) {
vis[i] = 1;
val[l] = x[i];
flag = true;
print(n, x,l+1);
vis[i] = 0;
}
}
if (flag==false)
{
for (int i = 0; i < n; i++)
cout << val[i] << ' ';
cout << endl;
return;
}
}
int main()
{
int n, x[N];
cin >> n;
for (int i = 0; i < n; i++)
{
x[i] = i + 1;
vis[i] = 0;
}
print(n, x,0);
system("pause");
return 0;
}
递归实现全排序
猜你喜欢
转载自blog.csdn.net/qq_34902939/article/details/84976376
今日推荐
周排行