![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
Сейчас перечитываю Колина Мука, получаю массу удовольствия.
Нашел задание сделать метод reverse из подручных материалов. Сделал, посмотрел в старых файлах - один в один с тем, что у меня получилось несколько месяцев назад. Может быть кто-то захочетт предложить более остроумные варианты? |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
блистать остроумием и писать реальный код на флэше - разные вещи. иногда предпочтительней производительность.
var heap = [1, 2, 3, 4, 5, 6];
heap[1000] = "-";
///////////////////
Array.prototype.turnOut = function() {
for (var i = 0; i<this.length-1; i++) {
this.splice(i, 0, this.pop());
}
};
Array.prototype.turn1Out = function() {
var len = this.length-1;
var l = len/2, i = 0, s;
for (var i = 0; i<l; i++) {
s = this[i];
this[i] = this[len-i];
this[len-i] = s;
}
};
//
var t = getTimer();
heap.turnOut();
trace(getTimer()-t);
trace(heap.join(""));
var t = getTimer();
heap.turn1Out();
trace(getTimer()-t);
trace(heap.join(""));
|
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
Спасибо, Ив!
Красиво. При таком объеме, действительно, твоя функцияболее чем в 400 раз быстрее моей. Кайфушки! А ведь у меня в голове крутился этот вариант, хотя в нем и было в два раза больше строчек. Но меня в первую очередь интересовал подход, а не скорость. Все равно родной reverse , скорее всего, не догонишь... он быстрее твоего метода в 5 раз. Спасибо большое за решение. Пью Коку за твое здоровье ![]() |
![]() |
Часовой пояс GMT +4, время: 15:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|