全排列

 1 #include<iostream>
 2 
 3 template<class T>
 4 void Perm(T a[], int k, int n)
 5 {
 6     if(k==n-1)
 7     {
 8         for(int i=0;i<n;i++)
 9             std::cout<<a[i]<<" ";
10         std::cout<<'\n';
11     }
12     for(int i=k;i<n;i++)
13     {
14         T t=a[k];a[k]=a[i];a[i]=t;
15         Perm(a,k+1,n);
16         t=a[k];a[k]=a[i];a[i]=t;
17     }
18 }
19 int main(void)
20 {
21     int a[]={0,1,2,3};
22     Perm(a,0,4);
23     return 0;
24 }

 

posted @ 2015-06-29 22:11  fkissx  阅读(185)  评论(0编辑  收藏  举报