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

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

成都创新互联公司主营腾冲网站建设的网络公司,主营网站建设方案,成都app软件开发,腾冲h5微信小程序搭建,腾冲网站营销推广欢迎腾冲等地区企业咨询

全排列,比如字母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://myzitong.com/article/ijieph.html