notguru 发表于 2013-1-27 06:13:55

全排列(递归)

<cstdlib><iostream>const int size=3;


bool used;
int  array;
int  number={1,2,3};
void print();
void fullarrange(int i)
{
     if(i==size)
     {
            print();
            return;
     }
      for(int k=0;k<size;k++)
      {
              if(!used)
              {
              used=true;
              array=number;
               fullarrange(i+1);
             used=false;
              }
      }
}
void print()
{
     for(int i=0;i<size;i++)
       cout<<array<<" ";
      
     cout<<endl;
 };
void init()
{
     for(int i=0;i<size;i++)
             used=false;
 }

int main(int argc, char *argv[])
{
    init();
   
    fullarrange(0);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}</iostream></cstdlib>
页: [1]
查看完整版本: 全排列(递归)