打印字符串的全排列

来源:互联网 发布:梦里花落知多少意义 编辑:程序博客网 时间:2024/04/30 15:57
/*偶然看到的一个算法题,关于全排列的,用递归代码挺简洁的,记下*/#include <iostream>using namespace std;void permutation(char* src, char* beg){    if(!src || !beg){        cerr<<"error!\n";        return;    }    if(*beg == '\0'){        cout<<src<<endl;    }else{        for(char *ch = beg; *ch != '\0'; ++ch){            char tmp = *ch;            *ch = *beg;            *beg = tmp;            permutation(src, beg+1);            //restore            *beg = *ch;            *ch = tmp;        }    }}int main(int argc, char* argv[]){    char src[] = "123456";    permutation(src, src);    return 0;}

原创粉丝点击