如何编写字母全排列快速算法C代码-创新互联

这篇文章给大家介绍如何编写字母全排列快速算法C代码,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

目前创新互联建站已为上千余家的企业提供了网站建设、域名、网络空间、网站改版维护、企业网站设计、岑巩网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

全排列,比如字母ABC,所有排列有A ,AB,AC,ABC,ACB,B,BA,BC,BAC,BCA,C,CA,CB,CAB,CBA。

如何编写字母全排列快速算法C代码//原理是插入, 在一个字符串的所有位置插入新字符.
如何编写字母全排列快速算法C代码//如: AB 插入C , 位置有 1A2B3, 插入后形成 CAB ACB ABC
如何编写字母全排列快速算法C代码
如何编写字母全排列快速算法C代码char *AllList(char *str, int *pNum)
如何编写字母全排列快速算法C代码如何编写字母全排列快速算法C代码...{
如何编写字母全排列快速算法C代码    int i, j, k, n;
如何编写字母全排列快速算法C代码    int len = strlen(str);
如何编写字母全排列快速算法C代码    int Total = 0;
如何编写字母全排列快速算法C代码    int count, oldcount;
如何编写字母全排列快速算法C代码    int size;
如何编写字母全排列快速算法C代码    char *Buf;
如何编写字母全排列快速算法C代码    char *p, *p1;
如何编写字母全排列快速算法C代码
如何编写字母全排列快速算法C代码    if (len > 10) return NULL;
如何编写字母全排列快速算法C代码
如何编写字母全排列快速算法C代码    //计算总的组合数目
如何编写字母全排列快速算法C代码    for (i = 0, j = 1; i  len; i++)
如何编写字母全排列快速算法C代码如何编写字母全排列快速算法C代码    ...{
如何编写字母全排列快速算法C代码        j *= (len - i);
如何编写字母全排列快速算法C代码        Total += j;
如何编写字母全排列快速算法C代码    }
如何编写字母全排列快速算法C代码
如何编写字母全排列快速算法C代码    //创建二维数组, 存放全部组合
如何编写字母全排列快速算法C代码    size = len + 1;
如何编写字母全排列快速算法C代码    if ((Buf = (char *)malloc(Total * size)) == NULL)
如何编写字母全排列快速算法C代码如何编写字母全排列快速算法C代码    ...{
如何编写字母全排列快速算法C代码        return NULL;
如何编写字母全排列快速算法C代码    }
如何编写字母全排列快速算法C代码
如何编写字母全排列快速算法C代码    for (k = 0, count = 0; k  len; k++)  //所有要插入的字符
如何编写字母全排列快速算法C代码如何编写字母全排列快速算法C代码    ...{
如何编写字母全排列快速算法C代码        oldcount = count;
如何编写字母全排列快速算法C代码        p = Buf;
如何编写字母全排列快速算法C代码        p1 = Buf + count * size;
如何编写字母全排列快速算法C代码        for (i = 0; i  oldcount; i++, p += size)  //插入到所有字符串中,形成新的字符串
如何编写字母全排列快速算法C代码如何编写字母全排列快速算法C代码        ...{
如何编写字母全排列快速算法C代码            n = strlen(p);
如何编写字母全排列快速算法C代码            for (j = 0; j  n; j++, count++, p1 += size) //在字符串所有位置插入
如何编写字母全排列快速算法C代码如何编写字母全排列快速算法C代码            ...{
如何编写字母全排列快速算法C代码                memcpy(p1, p, n);
如何编写字母全排列快速算法C代码                p1[n] = p1[j];
如何编写字母全排列快速算法C代码                p1[j] = str[k];
如何编写字母全排列快速算法C代码                p1[n + 1] = '

 在我的机器上排列10个字母大约0.5秒。

关于如何编写字母全排列快速算法C代码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


名称栏目:如何编写字母全排列快速算法C代码-创新互联
分享网址:http://hbruida.cn/article/csohsg.html