![]() |
Глубина стека
Есть алгоритм создания дерева. Произвольного.
Возникла необходимость вложености больше 255 на ветках. Как я понял, максимальная глубина стека в AS3 255... Как можно управлять стеком виртуальной машины и вообще, можно ли это? Добавлено через 2 минуты Вложеность может быть больше 255 - проверил. Но какая тогда максимальная глубина? |
Цитата:
|
Имеется в виду какой-нибудь факториал от 300? Я бы посоветовал вам разделить все это дело на несколько частей, каждая из которых не выходит за пределы стека. Мол, посчитать от 1 до 255, затем от 256 до 300 и перемножить эти результаты.
|
Цитата:
|
Вообще где-то было изменение максимального размера стека (что-то плохо гуглится), по крайней мере через изменение пары байт в скомпилированной swf-ке.
А вообще любой рекурсивный алгоритм можно свести к нерекурсивному, если для каждой переменной, хранившейся в стеке, создать массив. Ложить через pop(), доставать через push(). Переменных, общих для всех подвызовов функции, это, понятно, не касается. Читабельность, конечно, может ухудшится, а может и не очень. |
Цитата:
Пришлось ставить ограничитель. Типа, если за столько-то ходов никто никого не убил, сворачиваем баттл за отсутствием явного преимущества одной из сторон. |
Оказывается я не понял вопроса. Я почему-то подумал о вложенности объектов в DisplayList. Извините меня пожалуйста. )
|
Flash IDE вроде давал ввести свою глубину. Значит, можно.
|
Спасибо за ответы
Цитата:
Цитата:
Цитата:
Но за совет спасибо, хотя такой способ знал и сам. В крайнем случаи прибегну к нему… |
Цитата:
http://www.petrsu.ru/Chairs/IMO/pasc...part2_1_7.html Цитата:
|
| Часовой пояс GMT +4, время: 23:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.