?
簡(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;
//
重新開(kāi)始新的一輪匹配
}
if ( T[j] == '\0')
return i;
//
匹配成功
??
返回下標(biāo)
else
return -1;
//
串
S
中
(
第
pos
個(gè)字符起
)
不存在和串
T
相同的子串
}
// Index_BF
?