![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Здравствуйте,
есть массив, достается из базы. целые числа. допустим у нас есть ряд 0,1,3,6. Необходимо найти минимальное значение в свободном промежутке. найти 2 в следующем ряду 1,2 найти 3 в этом 4,5,6 найти 3 и т.д. Может есть стандартная функция по поиску свободного значения в интервале значений массива Цель: допустим есть ряд от 1 до 10 без промежутков. в произвольном порядке удаляются цифры. Так вот чтобы не продолжать ряд.. 11,12..99..n Моя функция не фурычит
Это сообщение отредактировал(а) Артем125 - 12.10.2009, 21:47 |
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Я могу только словами описать алгоритм как сам делал такую задачу двоичным поиском.
вычисляешь кол-во эл-ов. Если оно меньш чем разница между последним и первым - то есть дырка. Берёшь середину, и также смотришь разницу также только для 2-х половинок массива, если дырка в первом, то делишь первый, если во втором - то второй, и т.д., пока массив до 3-х или 2-х не уменьшится. |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
не понял вашу задачу.
Но кажется необходимые стандартные функции существуют |
|||
|
||||
| Артем125 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Спасибо, я тоже пришел к такому аглоритму )))) пока правда не реализовал, извернулся по другому Добавлено @ 19:09
к сожалению такой функции не нашел, а перерыл я много есть к примеру ряд 1,4,5,8,16, он может быть любого количества элементов и лбого диапазона... переодически элементы заменяются, удаляются, добавляются.... задача вставлять в него элементы значения дмапозона в данном случае от 1 до 16, если дырки нет, то 17, если нет ни одного элемента то 0 заполняется в сделующем порядке. нет элементо... ввод 0 значение, есть 0 значение, ввод 1 значение, есть 01 ввод 2, есть 012 ввод 3 и т.д. а помтом при уделении например элемента со значением 1 получаем ряд 02. При удалении 2, получаем 0.. Это сообщение отредактировал(а) Артем125 - 13.10.2009, 19:21 |
||||
|
|||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Кстати в каком-то языке связанным с вебом такая ф-я была, только когда она мне попадалась - оно мне не надо было, а счас не вспомню, проще самому написать.
|
|||
|
||||
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
ну в общем то да, ее реализовать на самом деле не сложно, сложней отладить, а также нужен мотив и время (с моим начальным уровнем где-то час наверно) )))
Но необходимость отпала))) Кстати, когда почитывал Подбельскую, учебник С++, там много описаний функций стандартной библиотеки... и количество функций там впечатляет как и количество библиотек, а тут блин, по десятку функций всего для работы различными сушностями (( Это сообщение отредактировал(а) Артем125 - 13.10.2009, 19:27 |
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Если ентересно, есть прекрасно работающий код, правда не php и не с массивом, но aa = Q->FieldByName(Field.c_str())->AsInteger; заменить на $aa = $array[$Field]; - думаю не сложно будет. Просто это писалось очень давно, ещё для парадоксовых баз, и никогда не переделывалось, и сейчас мне перекладывать на php смысла нету, а тебе если не хочется отлаживать - можешь переложить на php Это сообщение отредактировал(а) brother79 - 14.10.2009, 13:59 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |