Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

Поиск в массиве?   Найти похожие ветки 

 
chak ©   (2002-10-24 11:12) [0]

Скажите, есть ли простой способ найти нужное значение в многомерном массиве, кроме как простого перебора значений до нужного?


 
MBo ©   (2002-10-24 11:16) [1]

нет, если он не сортирован


 
chak ©   (2002-10-24 12:49) [2]

Ну вот например такой, вроде сортирован:

Pte:Array[1..6,1..6] of String=(
("Edit1", "kod_udpo", "0", "1" , "1", "udpo"),
("Edit2", "kod_pidr", "0", "2" , "1", "pidrozd"),
("Edit3", "data_protok", "1", "3" , "0", ""),
("Edit4", "nomer_protok", "0", "4" , "0", ""),
("Edit5", "nom_bl", "0", "83", "0", ""),
("Edit6", "adres_sk_kv", "0", "24", "0", ""),


Нужно найти допустим - Edit5


 
ЮЮ ©   (2002-10-24 12:55) [3]

Такой огромный массив и перебрать не грех :-)


 
Digitman ©   (2002-10-24 12:56) [4]

Посмотри, как реализован метод поиска Find() в сортированном одноменном массиве строк, управляемом классом TStringList.


 
gek ©   (2002-10-24 13:10) [5]

Ну если знаешь размер то дели пополам, и см ключевое слово больше или меньше и соответсвенно выбирай нужную часть массива и снова дели. Надеюсь понятно объяснил?


 
Smithson ©   (2002-10-24 13:16) [6]

Под "дели" подразумевается "бери значение". "дели пополам" = "анализируй среднее (по номеру индекса) значение".


 
chak ©   (2002-10-24 13:18) [7]

==> ЮЮ © (24.10.02 12:55) это только махонький кусок!!!
==> Digitman © (24.10.02 12:56) Спасибо , посмотрю!
==> gek © (24.10.02 13:10) думаю єто будет тоже что и в (Digitman © (24.10.02 12:56))
Пока спасибо!


 
Digitman ©   (2002-10-24 14:11) [8]

>chak

А иного , более эффективного способа (нежели поиск с последовательным приближением) не придумаешь. Ибо более эффективным , наверно, будет только поиск по ключ.полю, содержащему хэш-коды соотв.строк. У тебя же в массиве такие поля не предусмотрены


 
Digitman ©   (2002-10-24 14:16) [9]

Есть еще вариант (достаточно простой, но - опять же - связанный с необх-ю включения в массив доп.кл.поля) - поиск индекса стр.эл-та по его CRC, если только мощность множества кодов допустимых символов в соотв.стр.поле невелика и ограничена.



Страницы: 1 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-11240
Иван
2002-10-25 10:25
2002.11.04
Конвертирование в дробь


1-11286
MsGuns
2002-10-23 12:42
2002.11.04
В Design-mode пропали линейки прокрутки фориы


6-11363
tararasyk
2002-09-05 02:33
2002.11.04
Dial up + Server(Client)Socket,


7-11508
UWater
2002-09-01 16:54
2002.11.04
Серийный номер жесткого диска


1-11247
Andrushk
2002-10-22 15:48
2002.11.04
Как узнать абсолютные координаты курсоры мыши?