![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск в массиве? [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]нет, если он не сортирован