数据结构_递归算法的应用_打印n个数的全排列数

来源:互联网 发布:先锋乒羽淘宝商城微店 编辑:程序博客网 时间:2024/05/17 06:47
#include<stdio.h>
#include<stdlib.h>


void Swap(int  &a, int  &b) 
{
 int t=a;
  a=b;
  b=t;
  
}




void f(int a[], int k, int n)
{
     int i;
     if(k==0)
     {
             for(i=0;i<n;++i)
               printf("%d\t",a[i]);
             putchar(10);
     }
     else
     {
         for(i=0;i<=k;++i)
         { 
           Swap(a[i],a[k]);
           f(a,k-1,n);
           Swap(a[i],a[k]);
           
         }
     }
     
}
int main(void)
{
    const int N=4;
    int a[]={1,2,3,4};
    f(a,N-1,N);
    
    //int a=3,b=4;
    //Swap(a,b);
    //printf("a=%d\nb=%d\n",a,b);
    system("pause");
    return 0;
}
0 0