读书人

无聊写了个全排列的程序.解决思路

发布时间: 2012-09-07 10:38:15 作者: rapoo

无聊写了个全排列的程序..

C/C++ code
void AllArrange(char str[],int n){    int fl =strlen(str);    if(fl == 1)        cout<<str-n+fl<<endl;    else    {        int i;        for(i=0; i<fl; i++)        {            char t = str[0];            str[0] = str[i];            str[i] = t;            AllArrange(str+1,n);                        str[i] =str[0];            str[0] =t;        }            }}char p[] ="abcd";AllArrange(p,strlen(p));


[解决办法]
不错,很漂亮!
[解决办法]
代码很规范啊,来收点分
[解决办法]
好规范啊,要学习
[解决办法]
没明白 全排列什么意思
[解决办法]
原来是C++代码啊
[解决办法]
值得学习。
[解决办法]
我想问一下,那个代码框是怎么整的?
每次发帖我都只能在那个普通的发帖框中写,没有缩进很痛苦啊!
[解决办法]
探讨
C/C++ code


void AllArrange(char str[],int n)
{
int fl =strlen(str);
if(fl == 1)
cout<<str-n+fl<<endl;
else
{
int i;
for(i=0; i<fl; i++)
{
……

[解决办法]
探讨
引用:

C/C++ code
//全排列的生成算法
// 全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。任何n个字符集的排列都可以与1~n的n个数字的排列一一对应,
// 因此在此就以n个数字的排列为例说明排列的生成法。
// n个字符的全体排列之间存在一个确定的线性顺序关系。所有的排列中除最后一个排列外,都有一个后继;……
您是混分高手啊..

[解决办法]
楼主的方法很简洁,通俗易懂,比较有技术含量。我感觉我自愧不如啊!

读书人网 >C++

热点推荐