很重要的排列生成器(列出几个字符的所有排列)

#include <iostream>

 

using namespace std;

void Permutations(char *array,const int k,const int m)

{

    if(k==m)

    {

        for(int i=0;i<=m;i++) cout<<array[i]<<"";

        cout<<endl;

    }

    else{

            for(int i=k;i<=m;i++)

            {

                swap(array[k],array[i]);

                Permutations(array,k+1,m);

                swap(array[k],array[i]);

            }

        }

}

 

int main()

{

    char arr[4];

    arr[0]='a';

    arr[1]='b';

    arr[2]='c';

    arr[3]='d';

    Permutations(arr,0,3);

    return 0;

}

 

posted @ 2010-02-12 20:21  robin.won  Views(166)  Comments(0)    收藏  举报