•演算法設計思想:
•將主串s的第pos個字元和模式t的第1個字元比較,
–若相等,繼續逐個比較後續字元;
–若不等,從主串s的下一字元(pos+1)起,重新與t第乙個字元比較。
•直到主串s的乙個連續子串字串行與模式t相等。返回值為s中與t匹配的子串行第乙個字元的序號,即匹配成功。
•否則,匹配失敗,返回值 0 .
#include
#include
using namespace std;
int bf(char s,char t)
{ int len1,len2;
int i=0,j=0; //匹配的初始下標
len1=strlen(s); //主串s的長度
len2=strlen(t); //模式串t的長度
int index=0;
while((i
>s>>t;
cout<
<
字串模式匹配之BF演算法
演算法原理 bf brute force 演算法是字串模式匹配中原理最簡單,也是最直觀的演算法。基本思想是從源字串s中查詢目的字串p,從s中的n個字元開始和p的第乙個字元開始比較,若相等,則繼續分別取s和p的下乙個字元繼續比較,一次類推,直到源字串s中的某一連續串和p完全相等,則匹配成功。如果在匹配...
字串樸素模式匹配演算法 簡單模式匹配演算法
將主串中與模式串長度相同的子串搞出來,挨個與模式串對比 當子串與模式串某個對應字元不匹配時,就立即放棄當前子串,轉而檢索下乙個子串 若模式串長度為m,主串長度為n,則直到匹配成功 匹配失敗最多需要 n m 1 m次比較 最壞時間複雜度 o nm 最壞情況 每個子串的前m 1個字元都和模式串匹配,只有...
字串模式匹配演算法 BF演算法
include include intbf char str1,char str2,int length1,int length2,int pos int main 字串模式匹配演算法 str1為主串,str2為子串 length1為主串長度,length2為子串長度,intbf char str1...