Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1117701386
quickblack
2005-06-02 12:36
2005.06.29
А как войти на форум под своим ником?


14-1117435899
juice
2005-05-30 10:51
2005.06.29
Протоколы канального уровня


4-1115309163
Гость_01
2005-05-05 20:06
2005.06.29
Как запустить программу и получить handle ее окна ?


14-1117373371
Магнум
2005-05-29 17:29
2005.06.29
Библиотека иконок ICL


1-1118068149
Alex17
2005-06-06 18:29
2005.06.29
Дозвон до провайдера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский