Курсовая работа: Хэш поиск
MessageDlg('HESH-таблица не создана. Создаю таблицу.',MtError,[mbok],1);
Hesh:=TMas.Create(''); end else
case OperationGroup.ItemIndex of
0:begin {Add}
If Edit1.Text= '' then MessageDlg('Введитезначение!',MtError,[mbOK],1) else
if AddGroup.ItemIndex=0 then
begin {AddFirst}
j:=Hesh.Add(Edit1.Text,0);
if j<>0 then MessageDlg('Конфликтвячейке '+inttostr(j),MtInformation,[mbok],1);
MessageDlg('Ключсзначением '+Edit1.Text+' добавлен.',MtInformation,[mbok],1);
end else
begin {AddLast}
j:=Hesh.Add(Edit1.Text,1);
if j<>0 then MessageDlg('Конфликтвячейке '+inttostr(j),MtInformation,[mbok],1);
MessageDlg('Ключсзначением '+Edit1.Text+' добавлен.',MtInformation,[mbok],1);
end;
Output;
end;
1:begin {Search}
If Edit1.Text= '' then MessageDlg('Введитезначение!',MtError,[mbOK],1) else
if Hesh.Search(Edit1.Text,Count)='0' then
MessageDlg('Элементненайден!',MtError,[mbok],1) else
begin
MessageDlg('Элементнайденсозначением '+Edit1.Text,MtInformation,[mbok],1);
StatusBar1.Panels.Clear;
StatusBar1.Panels.Add.Text:='Количествосравнений : '+inttostr(Count);
end;
end;
2: begin {Clear}