//n的全排列
#include<iostream>
using namespace std;
const int s = 10;//全排列的收纳盒
int n;
int arr[s]; int hashtable[s] = { false };//整型数组 与布尔数组相互转化
void GE(int index)
{
//跳出循环的条件
//递归求全排列
for (int x = 1; x <= n; x++)
{
if (hashtable[x] == false)//第一个位置为空
{
arr[index] = x;
hashtable[x] = true;//填上数之后变为真
GE(index + 1);
hashtable[x] = false;//为递归 第二次走这个函数 所以将位置重置为空
}
}
if (index > n)//跳出循环的条件
{
for (int i = 1; i <= n; i++)
{
cout << arr[i] << endl;
}
cout << endl;
}
}
int main()
{
int index = 1;
cin >> n;
GE(index);
return 0;
}
n的全排列
最新推荐文章于 2022-10-12 10:53:31 发布