字符串的全组合非递归实现

来源:互联网 发布:大数据工程师 编辑:程序博客网 时间:2024/05/14 01:54

#include<iostream>

#include<string>

#include<vector>

#include<algorithm>

using namespace std;

int main()

{

while(1)

{

string str;

cin>>str;

vector<string> current;

int size=str.size()-1;

while(1)

{

        int last_size=current.size();

for(int a=0;a!=last_size;++a)  //遍历上一次的结果获取,添加当之前字节

current.push_back(str[size]+current[a]);

current.push_back(string(1,str[size]));//只有一个的情形也输入

--size;

if(size==-1)

break;

}

for(vector<string>::iterator iter=current.begin();iter!=current.end();++iter)

cout<<*iter<<endl;

}

 

return 0;

}

原创粉丝点击