Russian Qt Forum

Программирование => С/C++ => Тема начата: sindbad07 от Мая 18, 2010, 16:32



Название: Как просто создать древовидную структуру с собственным типом?
Отправлено: sindbad07 от Мая 18, 2010, 16:32
Здравствуйте. У меня определен свой тип (структура), мне надо просто сделать иерархический список с этим типом (дерево), смотрел инфу про контейнеры, там такого не нашел, подскажите плиз.


Название: Re: Как просто создать древовидную структуру с собственным типом?
Отправлено: CL0NE от Мая 18, 2010, 18:31
Бездна решений ;)
  • шаблон Composite (http://ru.wikipedia.org/wiki/Composite) - на классах
  • Более простое:
Код
C++ (Qt)
struct MyStruct {
int someData;
QList<MyStruct *> children; // любой контейнер подойдет, QList как пример
MyStruct *parent;  // 0 == root else ветка-лист
};


    Название: Re: Как просто создать древовидную структуру с собственным типом?
    Отправлено: Amigo_sa от Мая 18, 2010, 19:32
    Код
    C++ (Qt)
    struct MyStruct {
    int someData;
    QList<MyStruct *> children; // любой контейнер подойдет, QList как пример
    MyStruct *parent;  // 0 == root else ветка-лист
    };
      Для этой структуры еще придется объявлять кучу методов поиска, добавления, удаления и всего-всего...


      Название: Re: Как просто создать древовидную структуру с собственным типом?
      Отправлено: CL0NE от Мая 18, 2010, 20:10
      само собой, есть еще варианты. а предложенная структура - простейший пример