![]() |
bas784, можно большой массив разбить на части по какому-то критерию и поиск вести только в части массива, можно подумать об индексации элементов массива, но это может усложнить процедуру добавления элементов в массив.
А от перебора (явного или неявного) вас здесь ничто не избавит. |
Только зачем дополнительно использовать ключ? есть же индекс Array;
Вот по нему и ищем Код AS1/AS2:
|
Так вам поиск по ключу? Или по значению?
|
По значению опредилить индекс массива
Значения - числа |
Код AS1/AS2:
|
Есть такая штука, как бинарное дерево, если для поиска элементов в упорядоченом массиве (ну, в данном случае, не массиве) - самый ИМО подходящий вариант.
Смысл реализации простой: в каждом элементе есть "переключатель" работающий по принципу "если условие выполнилось - перейти на индекс #, а если нет - перейти на индекс ##" - в таком случае витков цикла будет меньше (на сколько меньше - не скажу, но я думаю, хорошие люди уже это давно посчитали и описали в какой-нибудь википедии). |
Интерестный подход с индексами в качестве значений. А можно ли перегрузить оператор = в Array ?
например Код AS1/AS2:
|
Код AS1/AS2:
|
К сожалению в моём случае в качестве значений в масиве выступают вещественные числа с разными знаками. Так что такая индексация не подходит.
Но в качестве будущей заметки на частный случай поиска уникальных чисел метод изложеный выше очень даже пригодиться. Так что конечно же спасибо за помощь. А а мне чувствую придётся реализовать хотя бы тот же метод половивого деления. Плохо что в библиотеках нет алгоритмов для поиска. |
Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 18:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.