Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Внизкак перебрать все пункты MainMenu самым простым способом ? Найти похожие ветки
← →
etrado (2006-06-19 15:27) [0]конструкция вида
for ... 0 to (Items.Count - 1) do
... Items[i] ...
дает только пункты верхнего уровня иерархии. получается, нужно рекурсивно для каждого пункта меню проверять наличие подпунктов. это единственный возможный вариант или есть что-то проще ?
← →
novill © (2006-06-19 15:33) [1]Что может быть проще рекурсивного перебора?
← →
novill © (2006-06-19 15:50) [2]вот например тут http://www.codenet.ru/progr/alg/btree.php
Правда Си, но тоже понятно
нерекурсивная функция для обхода дерева может выглядеть так:
template<class T>
void walkNotRec(TNode<T>* tree) {
if (tree) {
TNode<T> temp;
TNode<T>* ptemp = &temp;
TNode<T>* p = ptemp, *c = tree, *w;
while (c != ptemp) {
cout << c->value;
w = c->pleft;
c->pleft = c->pright;
if(c == p)
c->pright = 0;
else
c->pright = p;
p = c;
if (w) c = w;
}
}}
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c