字串 Brute Force實現

2021-06-14 17:04:08 字數 531 閱讀 7974

#include #include using namespace std;

int bfstringcmpare(const char *strlong,const char *strshort,int ilong,int ishort)

{ if(ilong

大家發現上面的**有什麼問題沒?

像這樣的字串會出現比較失敗:

char *strlong="love zy_ddreamer ";

char *strshort="dreamer";

原因是與子串進行比較時,主串和子串均向後移動,但是一旦比較失敗,下次比較應當從上次比較的起始點的下乙個位置開始。

而不是從比較失敗的下乙個位置。

改正後的**如下:

#include #include using namespace std;

int bfstringcmpare(const char *strlong,const char *strshort,int ilong,int ishort)

{ if(ilong

字串匹配演算法 Brute Force演算法

brute force 暴力 演算法是字串匹配中最簡單也是最容易理解的演算法。主要思想是 按順序遍歷母串,將每個字元作為匹配的起始字元,判斷是否匹配字串。若第乙個字元與字串匹配,則比較下乙個字元,否則回退到母串與字串比較的第乙個字元的下個字元,繼續比較。brute force演算法的時間複雜度為o ...

replace 實現字串替換 字串

字串是 不可改變 的,我們通過可以獲取字串指定位置的字元,但不能使用更改指定位置的字元,一旦更改,就會報錯。a abcedfghijklmnopqrstuvwxyz a 3 a traceback most recent call last file line 1,in a 3 a typeerro...

實現字串替換

題意 輸入3個字串,然後再第乙個字串中找出所有的第二個字串,第三個字串替換掉所有的第二個字串,最後輸出新的字串。本題不難的,就是使用strstr 庫函式尋找到子串的位置,然後進行替換就可以了。c語言指標操作 17 16 17 25 include include include include ch...