大話のデータ構造——串刺しの検索
864 ワード
#include<iostream>
#include<string>
using namespace std;
//T , S pos T
// , 0
int string_compare(string A,int i,string B);
int Index(string S,string T,int pos)
{
int S_size,T_size;
int i;
S_size=S.size();
T_size=T.size();
if(T_size>S_size-pos)
return 0;
for(i=pos-1;i<=S_size-1-T_size;i++)
{
if(string_compare(S,i,T)==1)
return i;
}
return 0;
}
// A i , B , 1, 0
int string_compare(string A,int i,string B)
{
if((A.size()-i)<B.size())
return 0;
int dex=1;
for(int j=0;j<B.size();j++)
{
if(A[i+j]!=B[j])
{dex=0;break;}
}
return dex;
}
int main()
{
string A="asdfghj";
string B="ghk";
cout<<Index(A,B,2)<<endl;
system("pause");
return 1;
}