Итератор, иерархическая структура, как сделать?
От: Kislookhin  
Дата: 06.10.04 05:02
Оценка:
Братцы, хотелось бы услышать мнение, как можно имплентировать следующую вещь.
Есть некая иерархическая структура, элементы которой представлены объектами типа

class TreeNode
{

// ...

public:
    TreeNode* pParent;        // ссылка на элемент - родитель
    list<TreeNode*> Children; // элементы, являющиеся потомками данного
}


Все вроде понятно и прозрачно. Но с этим деревом нужно работать специфичным образом: требуется получать элемент дерева по номеру, без учета иерархии. Т.е. для структуры

node0            -- индекс элемента 0
    node00       -- 1
    node01       -- 2
        node010  -- 3
        node011  -- 4
    node02       -- 5
        node020  -- 6
    node03       -- 7
node1            -- 8


Вопрос: как это сделать правильнее? Изобрести свой контейнер и свой итератор, позволяющий перемещаться по нодам именно таким оьразом? Или это лишнее?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.