1. 程式人生 > >數據結構 第4章 串、數組和廣義表 單元小結(1)重點 BF算法

數據結構 第4章 串、數組和廣義表 單元小結(1)重點 BF算法

小結 廣義表 str 其中 算法 int 指針 重新開始 存在

BF算法 考試必考 !!!!!背下來!!!!

int lndex_BF(string s,string t,int pos)

{//返回模式t在主串s中第pos個字符開始第一次出現的位置下標

//若不存在,則返回值為-1

//其中,t非空,1<=pos<=StrLength(s)

  int i,j;

  i = pos-1;//下標

  j = 0;//下標

  while(i<s.length()&&j<t.length()){

  if(s[i] == t[j]) {

  ++i; ++j;

  if(j == t.length()-1){

  if(t[j] != s[i]) return -1;}

  else continue;

  }//繼續比較後續字符

  else

  {

  i=i-j+1;

  j=0;

  }//指針後退重新開始匹配

 }

if(j == t.length()) return i-t.length()+1;//模式串全部讀完,表示匹配,返回開始匹配位置的下標

else return -1;

}

數據結構 第4章 串、數組和廣義表 單元小結(1)重點 BF算法