Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизАссоциативный массив Найти похожие ветки
← →
llirik © (2005-06-08 11:46) [0]Есть ли Delphi что-либо, напоминающее известный map из STL?
← →
Alex Konshin © (2005-06-08 12:46) [1]Можешь сделать что-то похожее на основе моих AVLtrees или Arrays.
Смотри на сайте в анкете.
← →
Суслик © (2005-06-08 12:55) [2]глянь модуль Contnrs
← →
TUser © (2005-06-08 12:57) [3]Можно еще TMemIni или TStringList использовать, и указывать пару ключь = значение.
← →
Amoeba © (2005-06-08 13:09) [4]Специально не смотрел, но может быть это найдется здесь:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=891
← →
Deka © (2005-06-08 13:36) [5]Где-то была целая STL для Delphi...
← →
Amoeba © (2005-06-08 14:10) [6]
> Deka © (08.06.05 13:36) [5]
> Где-то была целая STL для Delphi...
Я уже дал ссылку на эту библиотеку и статью о ней (SDL - Standard Delphi Library) в своем посте [4].
← →
REA (2005-06-08 15:33) [7]THashedStringList, TBucketList
← →
Erik1 © (2005-06-08 15:55) [8]Да действитель но есть на http://gurin.tomsknet.ru
Библиотека называется DeCal, а класс для реализации ассоциативного масива DMap DMultiMap, еще есть DHashMap - думаю понятно, что это такое. :)
← →
llirik © (2005-06-08 19:13) [9]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 стопудово удобней
← →
llirik © (2005-06-08 19:38) [10]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 указатели сравнивает, а мне нужно, чтобы значения того, на что эти указатели указывают
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c