SUNDAY 演算法 c 實現

2021-04-14 13:34:52 字數 1030 閱讀 5838

public class sunday

///

/// 實現sunday演算法

///

///

///

///

public int findchr(string str,string sfind)

str_length = str.length;

fin_length = sfind.length;

while(start+fin_length<=str_length)

if (isfind == false)//如果沒找到計算下次移動位置

}return find_count;

}//找字元在字串(不算最後乙個字元)的位置(倒數)

//沒找到返回fin_length,找到返回位置

///

/// 找字元在字串(不算最後乙個字元)的位置(倒數);沒找到返回fin_length,找到返回位置

///

///

///

///

///

///

public int findpos(string str, string find, int pos, int fin_length)

downpos++;}}

return returnpos;

}///

/// 取兩個字串最大公共子串

///

///

///

///

public string getlargepublicstring(string a, string b)}}

return "none";

}///

/// 取兩個字串中公共子串陣列

///

///

///

///

public string getlargepublicstringarray(string a, string b)}}

}return list_s.toarray();}}

c 實現sunday演算法例項

因正規表示式搜尋總是出現死迴圈,開始考慮改為其他搜尋方式,因為.net自帶的indexof預設只能找到第乙個或最後乙個,如果要把全部的匹配項都找出來,還需要自己寫迴圈substring,所以想找下有沒有現成的,就發現了在這個領域裡,bm演算法是王道,而sunday演算法據說是目前最好的改進版,這一點...

實現 Sunday 演算法

鑑於校園招聘筆試題,有個字串模式匹配的問題,99 都是暴力,偶爾一兩個寫kmp,但是明顯是知其表不知其裡。期待的 bm演算法 或者 sunday 沒有出現!鑑於的回覆,特此宣告 我的 假定字串中的字元都在ascii範圍內 by the way,國內有好多 是對sunday的改進,我本人是忽略不計,國...

Java實現Sunday演算法

sunday演算法是daniel m.sunday於1990年提出的字串模式匹配。其核心思想是 在匹配過程中,模式串發現不匹配時,演算法能跳過盡可能多的字元以進行下一步的匹配,從而提高了匹配效率。相比於另外幾個著名的字串匹配演算法,kmp以及bm演算法而言,sunday演算法不僅理解起來比較容易,而...