关闭

典型递归问题

标签: 递归数据结构C++
79人阅读 评论(0) 收藏 举报
分类:

题:输入两个字符串,比如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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4480次
    • 积分:310
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论