Цитата:
Сообщение от iNils
 Код AS3:
///число, с которым нужно сравнить
var number:Number = 4;
///массив, в котором ищем
var array:Array = [1, 3, 0, 6, 8, 9,5];
var arraySort:Array = array.concat();
arraySort.push (number);
arraySort.sort (Array.NUMERIC);
var index:int = arraySort.indexOf(number);
/// теперь берем числа справа и слева от index и узнаем более близкое по значению к number
|
с точки зрения оптимизации наверно не самый лучший вариант, так как
sort в лучшем случае имеет порядок n*log(n). (хотя как устроена сортировка я не знаю)
а в алгоритмах, предложеных мной и expl, максимум один раз приходится пройтись по массиву, следовательно сложность линейная
Цитата:
|
Felicast, arr - это массив? можете прокоментировать свой код?
|
arr - это массив.
на самом деле алгоритм такойже, как и у expl, только реализован через for each