全排列

#include <stdio.h>

char data[5]={'A','B','C','D','E'};

char temp[5];

bool isRepeat(int num,int n)

{  for(int i=0;i<n;i++)

 {   if(num==temp[i])

  return true;  }

   return false; }

void dFS(int step)

{  if(step==5)

 {   for(int i=0;i<5;i++)

  {    printf("%c",data[temp[i]]);   }

  printf(" ");   return;  }

 for(int i=0;i<5;i++)

 {   if(!isRepeat(i,step))

  {    temp[step]=i;      

    dFS(step+1);   }  } }

 int main()

{   dFS(0);

 return 0;  }

原文地址:https://www.cnblogs.com/452035305qq/p/6110295.html