Вниз
Скачать: CL | DM;

Ассоциативный массив   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.03 c
1-1117729758
byte1
2005-06-02 20:29
2005.06.29
StringGrid


1-1117614507
SergeiX
2005-06-01 12:28
2005.06.29
использование TListBox и TEdit


1-1117793543
zaw
2005-06-03 14:12
2005.06.29
ОКРУГЛЕНИЕ


14-1117863334
Гость4
2005-06-04 09:35
2005.06.29
Россия-Латвия


3-1115898208
-K2-
2005-05-12 15:43
2005.06.29
Проблемы при соединении с БД по локальной сети.




   Наверх