全排列

#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("\n");   return;  }

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

 {   if(!isRepeat(i,step))

  {    temp[step]=i;      

    dFS(step+1);   }  } }

 int main()

{   dFS(0);

 return 0;  }

posted on 2016-11-28 16:57  霸王程  阅读(81)  评论(0编辑  收藏  举报