如何编写字母全排列快速算法C代码

发布时间:2021-10-14 14:46:12 作者:柒染
来源:亿速云 阅读:127

这篇文章给大家介绍如何编写字母全排列快速算法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代码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. ybt 1199字母全排列
  2. js实现字符全排列算法的简单方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言

上一篇:Qtlnk1158无法运行rc.exe解决方法有哪些

下一篇:创建一个成熟的GitOps流水线需要准备哪些工作

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》