面试题28—相关题目(字符所有的组合)

来源:互联网 发布:画画软件手机版 编辑:程序博客网 时间:2024/06/04 23:30
题目:求字符的所有组合。

代码示例:

#include<iostream>  #include<vector>  #include<cstring>  #include<assert.h> using namespace std; void Combination(char *string, int number, vector<char> &result);void Combination(char *string){assert(string != NULL);vector<char> result;int i, length = strlen(string);for (i = 1; i <= length; ++i)Combination(string, i, result);}void Combination(char *string, int number, vector<char> &result){assert(string != NULL);if (number == 0){static int num = 1;cout << "第" << num++ << "个组合:";vector<char>::iterator iter = result.begin();for (; iter != result.end(); ++iter)cout<<*iter;cout << endl;return;}if (*string == '\0')return;result.push_back(*string);Combination(string + 1, number - 1, result);result.pop_back();Combination(string + 1, number, result);}int main(void){char str[] = "abc";Combination(str);return 0;}


原创粉丝点击