strstr另一個(gè)實(shí)現(xiàn)方法:
? 簡(jiǎn)單匹配算法
先來(lái)看一個(gè)簡(jiǎn)單匹配算法的函數(shù):
int Index_BF ( char S [ ], char T [ ], int pos )
{
/* 若串 S 中從第 pos(S 的下標(biāo) 0 ≤ pos<StrLength(S)) 個(gè)字符
起存在和串 T 相同的子串,則稱匹配成功,返回第一個(gè)
這樣的子串在串 S 中的下標(biāo),否則返回 -1??? */
int i = pos, j = 0;
while ( S[i+j] != '\0'&& T[j] != '\0')
if ( S[i+j] == T[j] )
j ++; // 繼續(xù)比較后一字符
else
{
i ++; j = 0;
//
重新開始新的一輪匹配
}
if ( T[j] == '\0')
return i; // 匹配成功 ?? 返回下標(biāo)
else
return -1; // 串 S 中 ( 第 pos 個(gè)字符起 ) 不存在和串 T 相同的子串
} // Index_BF
?
posted on 2006-06-05 00:04 AlanTop 閱讀(1122) 評(píng)論(1) 編輯 收藏 引用 所屬分類: C++