|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Обработка текста больших объемов Здравствуйте. Есть текст, предположим, 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. |