70 给出一个函数来输出一个字符串的所有排列

70.给出一个函数来输出一个字符串的所有排列。
ANSWER简单的回溯就可以实现了。当然排列的产生也有很多种算法,去看看组合数学,
还有逆序生成排列和一些不需要递归生成排列的方法。
印象中 Knuth的第一卷里面深入讲了排列的生成。这些算法的理解需要一定的数
学功底,也需要一定的灵感,有兴趣最好看看。


同:http://blog.csdn.net/u012605629/article/details/39893073

【70 给出一个函数来输出一个字符串的所有排列】

/* 70.给出一个函数来输出一个字符串的所有排列。 ANSWER简单的回溯就可以实现了。当然排列的产生也有很多种算法,去看看组合数学, 还有逆序生成排列和一些不需要递归生成排列的方法。 印象中 Knuth的第一卷里面深入讲了排列的生成。这些算法的理解需要一定的数 学功底,也需要一定的灵感,有兴趣最好看看。同 53 */ #include #include using namespace std; void swap(char *a,char *b) { char t; t=*a; *a=*b; *b=t; }void printAllArray(char a[],int n,int index) { int i,j; if(index==n) { for(i=0; i

70 给出一个函数来输出一个字符串的所有排列
文章图片


    推荐阅读