Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2005-05-02 20:11:29 ЛС | профиль | цитата
Dilma,
1) Поразмыслил над возможностью осуществить рекурсию методом "кольцевания". Ниже пример рекурсивной сортировки, зацикленный для изучения расхода памяти.
Получилось. Но, как и в случае рекурсивной задачи по чистке реестра (помните, наверное), простым это кажется только с первого взгляда. А дальше начинаешь понимать, что Memory должен обладать св-м стека, а в этой задаче эту роль выполняет MultiElementEx, отрабатывая на всю катушку свои возможности МАССИВА.
Но то, что ТЕОРЕТИЧЕСКИ, мы можем решать рекурсивные задачи, с момента появления MultiElementEx, это ФАКТ. Для этого достаточно ГАРАНТИРОВАТЬ реентерабельность HUB-а и метода ##add элемента MultiElementEx.
2) С быстродействием: впечатляет, в сравнении с "пузырьковыми" алгоритмами. А вот с памятью - беда. Сдаюсь - больше найти не могу (потому пример и выкладываю).
Естественно, я добавил в деструкторы MultiElementEx и EditMultiEx чистку PstrList-ов, и сделал деструктор для класса TArray. Дальше фантазия кончилась...............

P.S. В MultiElementEx деструктор и метод Clear я починил добавлением .MainClass, естественно....
карма: 9

0