Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

как перебрать все пункты 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.06 c
15-1150054402
Omar2002
2006-06-11 23:33
2006.07.09
Тока ща понял почему иногда такие бредовые вопросы задают :)


3-1147266021
Morrison
2006-05-10 17:00
2006.07.09
Index is read-only. Что делать?


15-1150103543
Andy BitOff
2006-06-12 13:12
2006.07.09
ONSPEED, Реальный ускоритель инета


15-1149276927
Tirael
2006-06-02 23:35
2006.07.09
Outpost Firewall - быть или не быть )


2-1151117389
gamebit3000
2006-06-24 06:49
2006.07.09
Не получается связать несколько БД и сделать их поля вычисляемыми