求一个字符串的所有组合子串,例如abc的组合子串为a,b,c,ab,ac,bc,abc
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
string s;
vector<char> v;
void dfs(char* s,int len)
{
if(len == 0) {
vector<char>::iterator it;
for(it = v.begin(); it != v.end(); it++)
cout << *it;
cout << endl;
return;
}
if(*s == '\0') return;
v.push_back(*s);
dfs(s + 1,len - 1);
v.pop_back();
dfs(s + 1,len);
}
int main()
{
char s[100];
cin >> s;
//控制组合字符的长度
for(int i = 1; i <= strlen(s); i++)
dfs(s,i);
return 0;
}