在一个主串中查找相应的子串,如“abcdwoshidef”中查找“woshi”
方法:该实现的方法是最简单的模式匹配方法,时间复杂度较高
#include "iostream"
using namespace std;
int Searchstring(const char* str1, const char *str2)
{
//实现在str1字符串中查找str2并返回位置信息
//返回0的时候说明没有查找到
int n1=strlen(str1);
int i=0;
for (i=0;i<n1;i++)
{
int j=0;
int temp=i;
while(str1[i++]==str2[j++])
{
if(str2[j]=='\0')
{
return temp+1;
}
}
i=temp;
}
return 0;
}
int main()
{
char *str1="abcdwoshiefg";
cout<<"主串:";
cout<<str1<<endl;
//从键盘接收字符子串
char str2[10]={};
cin>>str2;
cout<<"子串:";
cout<<str2<<endl;
int n=Searchstring(str1,str2);
cout<<"子串开始的位置:";
cout<<n<<endl;
return 0;