コード例 #1
0
        /// <summary>
        /// 最大匹配,从chs[offset]开始匹配,同时把chs[offset]的字符终点保存在cns[cnIdx]
        /// </summary>
        /// <param name="cns"></param>
        /// <param name="cnIdx"></param>
        /// <param name="chs"></param>
        /// <param name="offset"></param>
        /// <returns>最大匹配到的词尾长,>0 找到</returns>
        protected int MaxMatch(CharNode[] cns, int cnIdx, char[] chs, int offset)
        {
            CharNode cn = null;

            if (offset < chs.Length)
            {
                cn = dic.head(chs[offset]);
            }
            cns[cnIdx] = cn;
            return(dic.maxMatch(cn, chs, offset));
        }