查詢 子字串查詢

2021-07-16 15:48:41 字數 404 閱讀 5258

子字串查詢

子字串查詢的常見方法:暴力破解、sunday和kmp。

1、暴力查詢

暴力查詢就是用兩個指標i,j分別指向字串和子字串,如果指標指向的字元相等則兩指標右移;否則,指向字串的指標i回到本次匹配的下乙個位置,而指向匹配字串的指標j回到匹配字串的開頭。

public int search(string text,string pattern)

pindex--;

}i = i+n-pindex; //確定母串中的移動步數

loc = i;

j = 0; //子串回到起始位置}}

if(j==n) return loc;

return -1;

}

字串 查詢子串

主要的思路就是,不斷的從母串 str1 中取出和子串長度相等的臨時子串 temp str,與子串 str2 進行比較。沒有找到子串,返回 1 成功找到子串,返回子串首字母在母串中的位置,該位置從 0 開始。include include char temp str 30 臨時子串 void read...

PTA 查詢子串 (字串 函式)

本題要求實現乙個字串查詢的簡單函式。char search char s,char t 函式search在字串s中查詢子串t,返回子串t在s中的首位址。若未找到,則返回null。include define maxs 30 char search char s,char t void readstr...

BM演算法查詢子字串

兩種模式,三種匹配狀態。兩種模式 文字指標i自左向右移動,模式指標自右向左移動。匹配時由pattern的字串由右向左匹配。三種匹配失敗狀態 1.匹配到乙個不在模式字串中的字元,將文字指標i跳躍pattern.length 1。重新匹配。2.匹配到乙個在模式字串中的字元,將文字指標i跳躍的長度為該字元...