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

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

学功底,也需要一定的灵感,有兴趣最好看看。


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

/*
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 给出一个函数来输出一个字符串的所有排列_第1张图片

你可能感兴趣的:(面试杂七杂八)