Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстрый список для индексирования.... [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).

А что, знаешь другие варианты?


Наверх

Титульная страница Поиск, карта сайта Написать письмо