Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск в массиве? [D6, WinXP]


chak ©   (2002-10-24 11:12:00) 

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


Digitman   (2002-10-24 14:16:00) [1]

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


Digitman   (2002-10-24 14:11:00) [2]

>chak

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


chak   (2002-10-24 13:18:00) [3]

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


Smithson   (2002-10-24 13:16:00) [4]

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


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

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


Digitman   (2002-10-24 12:56:00) [6]

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


ЮЮ   (2002-10-24 12:55:00) [7]

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


chak   (2002-10-24 12:49:00) [8]

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

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


MBo   (2002-10-24 11:16:00) [9]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо