Реферат: Алгоритмы поиска в тексте

Suffix[1] := Char(j);

Move(P[i + 1], Suffix[2], lp - i );

SufPos := FindRightmost(P, Suffix, lp - 1);

if SufPos <> 0 then CurShift := i - SufPos;

BMT^[i-1][j] := CurShift;

end;

BMT^[i-1][Byte(P[i])] := 0;

end;

end;

function BMSearch( StartPos, lp : Integer; const S : String;

BMT : PBMTable) : Integer;

var

Pos, i : Integer;

begin

Pos := StartPos + lp -1;

while Pos < Length(S) do

for i := lp downto 1 do

if BMT^[i-1][Byte(S[Pos-lp+i])] <> 0 then

begin

Pos := Pos + BMT^[i-1][Byte(S[Pos-lp+i])];

Break;

end

else if i = 1 then

begin

Result := Pos - lp + 1;

Exit;

end;

Result := 0;

end;

К-во Просмотров: 335
Бесплатно скачать Реферат: Алгоритмы поиска в тексте