比较简单的全排列算法,做个记录

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

void Perm(vector<int>& list, int k, int m)
{
    if(k==m)                       
    {
        for(int i=0; i<=m; i++)
            cout << list[i];
        cout << endl;
    }
    else
      for(int j=k; j<=m; j++)
      {
          Swap(list[k],list[j]);
          Perm(list, k+1, m);
          Swap(list[k],list[j]);
      }
}

  

原文地址:https://www.cnblogs.com/ledao/p/3235190.html