Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
а можно срвнить число x с ключами массива, т.е. номерами 0,1,2,3...
Champion
Отправлено: 11 Ноября, 2008 - 08:47:41
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Altynayka, если вам надо определить, не превосходит ли число длину массива, то можно с длиной и сравнить...
А искать число среди значений массива (он ведь отсортирован), можно половинным делением.
pre_ind = length
h = parseInt(length/2) +1
cur_ind = h
while (pre_ind != cur_ind) {
if (x > arr[cur_ind]) {
pre_ind = cur_ind
if (h == 1) {alert('netu');return false;}
h = parseInt(h/2)+1
cur_ind += h
}
else if (x < arr[cur_ind]) {
if (h == 1) {alert('netu');return false;}
pre_ind = cur_ind
h = parseInt(h/2)+1
cur_ind = h
}
else if (arr[cur_ind] = x){
alert('arr['+cur_ind+']'+'='+x)
}
}
}
Altynayka
Отправлено: 11 Ноября, 2008 - 11:03:50
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
вообще-то нет.Champion.
вы меня не поняли.
вообщем есть число , если оно равно 1,
то надо выводить первый элемент массива и т.д.
вообщем из массива 10, 21, 31, 42,52,63,73.
вот...
Champion
Отправлено: 11 Ноября, 2008 - 12:59:26
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
ну тогда
x = число
alert(x+'й элемент массива '+arr[x]) (Добавление)
Не обижайтесь, но мне в голову не пришло, что это может вызвать затруднения)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.