这是递归和回溯的算法 是abcd'的排列可能

#include<stdio.h>
#include<iomanip>
#include<iostream>
using namespace std;
bool b[10]={0};int a[10]={0};
int print()
{
 for (int i=1;i<=4;i++)
 printf("%c ",a[i]);
 printf("\n");
}

int dosomething(int z)
{
 int mm;
 for ( mm=1;mm<=4;mm++)
 if (!b[mm])
 {
  a[z]=mm+96;
  b[mm]=true;
  if (z==4)  print();
  else dosomething(z+1);
  b[mm]=false;
 }
}
int main()
{
 dosomething(1);
 return 0;
}

 

总结  tmd' 不可以把mm变量定义成全局变量

posted @ 2016-05-21 20:53  我在四月聆听你的歌声  阅读(214)  评论(0编辑  收藏  举报