Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.06.2012, 20:37
serbius serbius вне форума
Прохожий
 
Регистрация: 23.05.2012
Сообщения: 20
Репутация: 10
Радость Обработка текста больших объемов

Здравствуйте.
Есть текст, предположим, 50000 тыс слов. Его надо обработать: разбить на слова (по пробелам), создать массив, который бы не содержал дубликатов слов и второй массив, считающий кол-во повторений того или иного слова, который бы был связан по ключу с первым.

Так вот, задача вроде бы реализована, но, поскольку поиск слов в TStringList реализован через indexOf, то поиск может быть очень медленным, порой до нескольких минут.

Вопрос: как можно оптимизировать поиск, возможно, еще что-то?

Дополнение №1:
Могу выложить исходик, если будет надо.

Дополнение №2:
В инете откопал такой вот пример, может, действительно, быстрее будет проверять: вставилась ли строка?

Код:
var Strlist: TStringList;
begin
  Strlist := TStringList.Create;
  Strlist.Duplicates := dupError;
  Strlist.Add('aa'); {добавляем первую строку}
  try
    Strlist.Add('aa'); {добавляем дубликат}
    ShowMessage('Ok');
  except
    on EStringListError do ShowMessage('Duplicate');
  end;
end; 

Спасибо!

Последний раз редактировалось serbius, 02.06.2012 в 21:00.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025