#include <iostream>
using namespace std;
void print_permutation(int n, int* arr, int cur)
{
if (cur == n)
{
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
else
{
for (int i = 1; i <= n; i++)
{
int ok = 1;
for (int j = 0; j < cur; j++)
{
if (arr[j] == i)
{
ok = 0;
}
}
if (ok)
{
arr[cur] = i;
print_permutation(n, arr, cur+1);
}
}
}
}
int main(int argc, char* argv[])
{
int n = 3;
int* arr = new int[3];
print_permutation(n, arr, 0);
delete[] arr;
arr = NULL;
getchar();
return 0;
}
生成1-n的全排列
最新推荐文章于 2024-06-05 19:09:50 发布