整数数组按字典序全排列,输出全排列的所有结果。
#include <iostream>
#include <cstring>
#define con 100
using namespace std;
void permutation(int* a, int k, int m)
{
int i, j;
if (k == m)
{
for (i = 0; i <= m; i++)
cout << a[i] << " ";
cout << endl;
}
else
{
for (j = k; j <= m; j++)
{
swap(a[j], a[k]);
permutation(a, k + 1, m);
swap(a[j], a[k]);
}
}
}
int main()
{
int n;
cin >> n;
int tmp;
int a[con];
vector<int> data;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
permutation(a, 0, n - 1);
return 0;
}