字串的全組合非遞迴實現

2021-05-23 20:11:57 字數 587 閱讀 6951

#include

#include

#include

#include

using namespace std;

int main()

while(1)

string str;

cin>>str;

vectorcurrent;

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::iterator iter=current.begin();iter!=current.end();++iter)

cout<<*iter

用遞迴求字串的全組合

對於乙個給定的序列 a a1,a2,a3,an 請設計乙個演算法,用於輸出這個序列的全部排列方式。例如 a 1,2,3 則輸出為 1,2,3 1,3,2 2,1,3 2,3,1 3,2,1 3,1,2 如果對於無重複元素的序列,可以用如下方法遞迴實現 def func list,start if s...

全組合的遞迴實現C

今天刷題碰到乙個要用到全組合的問題,下面的 是用遞迴寫的,留著以後複習一下 includeusing namespace std void full combine int data,int cur,int len if cur len for int i 0 i這是一種間接的方式,程式輸出的都是0...

字串全排列 非遞迴實現

乙個演算法命題 給定字串s 0 n 1 設計演算法,列舉s的全排列。如 123,全排列就是 123,132,213,231,312,321 由123的全排列 123,132,213,231,312,321可知,這個全排列大小是有序的。也就是說,從最小的開始排列,每次只找比當前排列大一點的序列即可,這...