69,368
社区成员
发帖
与我相关
我的任务
分享
//这个不错,不过是C++的
#include < iostream >
#include < algorithm >
using namespace std;
// 递归产生R[k:n]的所有的排列,元素是互异的
template < class Type >
void permutation(Type * R, int k, int n)
{
if (k == n)
{
for ( int i = 0 ;i < n; ++ i)
cout << R[i] << " \t " ;
cout << endl;
}
else
for ( int i = k;i < n; ++ i)
{
swap(R[k],R[i]);
permutation(R,k + 1 ,n);
swap(R[k],R[i]);
}
}
void main()
{
int a[3]={1,2,3};
permutation(a,0,3);
}