![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ассоциативный массив [D7, WinXP]
llirik © (2005-06-08 11:46:00)Есть ли Delphi что-либо, напоминающее известный map из STL?
llirik (2005-06-08 19:38:00) [1]2 Суслик, REA
то же интересно, это я запомню
вот только чего не так:
If the item is already in the bucket, Add raises an EListError exception. Otherwise, it adds the item to the correct bucket and returns AData.
то есть, я так понимаю, он у Item указатели сравнивает, а мне нужно, чтобы значения того, на что эти указатели указывают
llirik (2005-06-08 19:13:00) [2]2 TUser
TStringList -- очень медленно будет, не гонюсь за удобством, просто велосипедов не хочется :)
2 Alex Konshin ©
опять же изобретать велосипед не охота. Задача в сущности пустячная, вот бы map мне :) ... и полчаса делов
2 Amoeba
а вот это любопытно, впервые слышу, спасибо. Буду разбираться.
и по-моему, отсутсвие поддержки таких основных структур данных как, например, ассоциативные массивы, в стандартной поставке делфи есть большой минус в ее пользу :)
пользуясь случаем еще выскажусь :), может кто даст коментарии где я тут слишком уж задвигаю
вот встроенный массив в делфи array
как вернее писать SetLength(arr, 10) и каждый раз как понадобилось еще место под один элемент, то
SetLength(arr, High(arr) + 2) ?
или всетаки ввести счетчик элементов массива ca: integer
и делать что-то вроде:
// в начале прог-ы
ca := 0;
SetLength(arr, 100); // ну сразу побольше
...
// где-то ниже
где нужно еще один элемент
inc(ca);
if ca >= High(arr) then SetLength(arr, ca + ca div 2);
если последний вариант есть дао, то имхо vector из STL стопудово удобней
Erik1 (2005-06-08 15:55:00) [3]Да действитель но есть на http://gurin.tomsknet.ru
Библиотека называется DeCal, а класс для реализации ассоциативного масива DMap DMultiMap, еще есть DHashMap - думаю понятно, что это такое. :)
REA (2005-06-08 15:33:00) [4]THashedStringList, TBucketList
Amoeba (2005-06-08 14:10:00) [5]
> Deka © (08.06.05 13:36) [5]
> Где-то была целая STL для Delphi...
Я уже дал ссылку на эту библиотеку и статью о ней (SDL - Standard Delphi Library) в своем посте [4].
Deka (2005-06-08 13:36:00) [6]Где-то была целая STL для Delphi...
Amoeba (2005-06-08 13:09:00) [7]Специально не смотрел, но может быть это найдется здесь:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=891
TUser (2005-06-08 12:57:00) [8]Можно еще TMemIni или TStringList использовать, и указывать пару ключь = значение.
Суслик (2005-06-08 12:55:00) [9]глянь модуль Contnrs
Alex Konshin (2005-06-08 12:46:00) [10]Можешь сделать что-то похожее на основе моих AVLtrees или Arrays.
Смотри на сайте в анкете.