从n个字符中,找出m个排列组合
Posted 青儿哥哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从n个字符中,找出m个排列组合相关的知识,希望对你有一定的参考价值。
网上看到的版本
#include <string.h> #include <stdio.h> #include <stdlib.h> #define MAXLENGTH 10000 //组合问题(从M个不同字符中任取N个字符的所有组合) void combine(char *source,char *result,int n){ if (1==n) { while (*source) { printf("%s%c ",result,*source++); } }else { int i,j; for (i=0;source[i]!=‘\0‘;i++); for (j=0;result[j]!=‘\0‘;j++); for (;i>=n;i--) { result[j]=*source++; result[j+1]=‘\0‘; combine(source,result,n-1); } } } int main() { char source[MAXLENGTH]; int n = 0; char *result = NULL; scanf("%s %d",source,&n); //int len = strlen(source); /*2.初始化*/ result = (char *)malloc(sizeof(char)*n+1); memset(result,‘\0‘,n + 1); /*3.排列组合*/ combine(source,result,n); //free(result); return 0; }
以上是关于从n个字符中,找出m个排列组合的主要内容,如果未能解决你的问题,请参考以下文章