![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстрый список для индексирования.... [D7]
i © (2008-06-23 11:21:00)Нужно работать со списком вида
str1=int1
str2=int2
т.е. кооторый будет сопоставлять строке число.
важно чтобы он мог быстро вернуть число по заданной строке.
Причем для меня список не должен быть отсортированным (новые строки добавляем в конец).
TStringList не устраивает тем, что использует полный перебор при поиске айтема (при sorted=false).
Список динамический, кол-во айтемов заранее неизвестно.
Есть какие-либо быстрые решения данного вопроса?
i (2008-06-23 13:38:00) [1]
> На худой конец, помимо несортированного иметь в пару отсортированный.
> В отсортированном TStringList-е в Objects хранить индекс
> в неотсортированном, равный TStringList.Count до вставки
> item-a.
> Тогда в отсортированном по строке находим индекс элемента
> в неотсортированном.
пока вот так и выкрутился, вроде нормально работает.
> iniFiles:
> TStringHash
> THashedStringList
> TMemIniFile
спасибо, посмотрим.
Slym (2008-06-23 11:53:00) [2]iniFiles:
TStringHash
THashedStringList
TMemIniFile
ЮЮ (2008-06-23 11:41:00) [3]хранить числа в «хэш-таблице», хэш считать по строке.
На худой конец, помимо несортированного иметь в пару отсортированный. В отсортированном TStringList-е в Objects хранить индекс в неотсортированном, равный TStringList.Count до вставки item-a.
Тогда в отсортированном по строке находим индекс элемента в неотсортированном.
Поросенок Винни-Пух (2008-06-23 11:28:00) [4]причниа беды в том, что смешали в кучу две вещи.
несортированный спиок для визуализациии собственно данные спика, которые для быстрого поиска должны быть отсортированы.
i (2008-06-23 11:26:00) [5]
> А что, знаешь другие варианты?
Мало ли, может есть какие либы по типу QStrings, но для списков.
Ega23 (2008-06-23 11:26:00) [6]
> Причем для меня список не должен быть отсортированным (новые
> строки добавляем в конец).
Полный перебор с Break на найденном значении.
Плохиш (2008-06-23 11:23:00) [7]
> TStringList не устраивает тем, что использует полный перебор
> при поиске айтема (при sorted=false).
А что, знаешь другие варианты?