从M个不同字符中任取N个字符的所有组合
2010-09-26 16:06
253 查看
#include <string.h> //组合问题(从M个不同字符中任取N个字符的所有组合) void combine(char *source,char *result,int n){ if (1==n) { while (*source) { printf("%s %c/n",result,*source++); } printf("-------------------------------/n"); }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(int argc, char* argv[]) { int const n=3; char *source="abcdefghi",result[n+1]={0}; if (n>0 && strlen(source)>0 && n<=strlen(source)) { combine(source,result,n); } return 0; }
相关文章推荐
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- //组合问题(从M个不同字符中任取N个字符的所有组合)
- [小算法]从M个不同字符中任取N个字符的所有组合
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- 用递归实现从M个不同字符中选取N个字符的所有组合
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- 从M个不同字符中任取N个字符的所有组合
- CI1.1 实现一个算法,确定一个字符串的所有字符是否全部不同。假使不允许使用额外的数据结构。
- 程序员面试金典1.1:确定字符串的所有字符是否全都不同
- [剑指offer]求字符数组的所有组合
- TCL笔试题 将A,B,B,C,D,E,第三个字符不可以是E的所有组合输出;
- 剑指offer:求字符的所有组合
- 剑指Offer中面试题28的扩展问题(求字符的所有组合)
- 显示字符串中所有字符的排列组合。
- 不同的取法输出顺序可以不考虑。取字符( 从标准输入读入一个由字母构成的串(不大于30个字符)。从该串中取出3个不重复的字符,求所有的取法。取出的字符,要求按字母升序排列成一个串。)
- 题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。
- 输入一个字符串,输出该字符串中字符的所有组合
- 【面试经典题之字符串】实现一个算法,确定一个字符串的所有字符是否全都不同。假设不允许使用额外的数据结构
- 【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同