典型递归问题

来源:互联网 发布:iface302 指纹算法 编辑:程序博客网 时间:2024/06/05 06:28

题:输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序。即输出125、126、145、146。

代码如下:

#include<iostream>#include<string>using namespace std;void PrintStr(string strA,string strB,int print[],int lenP,int strAstart,int strBstart){if(lenP==strB.length())//满足条件输出{for(int i=0;i<lenP;i++)cout<<print[i];cout<<endl;}for(int i=strAstart;i<strA.length();i++){for(int j=strBstart;j<strB.length();j++){if(strA[i]==strB[j]){print[lenP]=i+1;PrintStr(strA,strB,print,lenP+1,i+1,j+1);}}}}void main(){string strA="abdbcc";string strB="abc";if(strA.empty()||strB.empty()){cout<<"string error!"<<endl;return;}int lenA=strA.length();int lenB=strB.length();int *print=new int[lenB];PrintStr(strA,strB,print,0,0,0);}


0 0
原创粉丝点击