輸入兩個字符串,比如abdbcc和abc,把abc在abdbcc中的連接次序輸出
用了個遞歸,逐步深入,不過,有個問題,就是假如首個或者中間某個元素不存在,則不能對後面數據進行搜索輸出,而且效率低
#include<iostream>
#include<assert.h>
using namespace std;
void fintrans(char*d,char*s,int k=0)
{
if(*s==NULL)
{
cout<<k<<endl;
return;
}
int count=strlen(d); char*p=s;p++;
for(int i=0;i<count;i++)
{
if(d[i]==*s)
{
k=k*10+i+1;
fintrans(d,p,k);
k=k/10;
}
}
}
void fun(char*d,char*s)
{
assert(s);
assert(d);
fintrans(d,s,0);
}
void main()
{
char*s="bc";
char*d="abdbcc";
fun(d,s);
}
#include<iostream>
#include<assert.h>
using namespace std;
void fintrans(char*d,char*s,int k=0)
{
if(*s==NULL)
{
cout<<k<<endl;
return;
}
int count=strlen(d); char*p=s;p++;
for(int i=0;i<count;i++)
{
if(d[i]==*s)
{
k=k*10+i+1;
fintrans(d,p,k);
k=k/10;
}
}
}
void fun(char*d,char*s)
{
assert(s);
assert(d);
fintrans(d,s,0);
}
void main()
{
char*s="bc";
char*d="abdbcc";
fun(d,s);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.