#include <iostream>
#include <iomanip>
using namespace std;
int x[6]={10,2,30,4,5,6};
static int count=0;
/***********************************************************************
功能:全排列列举
参数:k为第一个位置,m为数组长度
返回:输出全排列
***********************************************************************/
void PaiLie(int k,int m)
{
if (k==m)
{
count++;
for (int i=0;i<m;i++)//输出结果
{
cout<<setw(3)<<x[i];
}
cout<<endl;
}
else
{
for (int i=k;i<m;i++)
{
swap(x[i],x[k]);
PaiLie(k+1,m); //下一个排列
swap(x[i],x[k]);//恢复
}
}
}
//主函数
int main()
{
PaiLie(0,6);
cout<<"总共得个数为:"<<count<<endl;
return 0;
}