字串匹配

2021-09-30 13:19:07 字數 347 閱讀 9464

一.簡單匹配演算法

先來看乙個簡單匹配演算法的函式: 

int index_bf ( char s [ ], char t [ ], int pos ) 

{ /* 若串 s 中從第pos(s 的下標0≤pos

// index_bf    此演算法的思想是直截了當的:將主串s中某個位置i起始的子串和模式串t相比較。即從 j=0 起比較 s[i+j] 與 t[j],若相等,則在主串 s 中存在以 i 為起始位置匹配成功的可能性,繼續往後比較( j逐步增1 ),直至與t串中最後乙個字元相等為止,否則改從s串的下乙個字元起重新開始進行下一輪的"匹配",即將串t向後滑動一位,即 i 增1,而 j 退回至0,重新開始新一輪的匹配。

字串匹配

題目描述 讀入資料string 然後讀入乙個短字串。要求查詢string 中和短字串的所有匹配,輸出行號 匹配字串。匹配時不區分大小寫,並且可以有乙個用中括號表示的模式匹配。如 aa 123 bb 就是說aa1bb aa2bb aa3bb都算匹配。輸入 輸入有多組資料。每組資料第一行輸入n 1 n ...

字串匹配

time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1,第二行代表string2,string1和string2中保證不出現...

字串匹配

面試題 給一串很長的字串,要求找到符合要求的字串,例如目的串 123 1 3 2 12 3 這些都要找出來 思路一 利用兩層迴圈,逐個查詢目的串中的字元,比如先查詢字元 1 是否在長字串中,再查詢 2 是否在長字串中,直到目的串遇到 0 是 include include include int m...