Drzewo dynamiczne - reprezentacja

0

Witam
Poszukuję sprawnego i w miarę prostego sposobu na reprezentację drzewa w C++. Każdy węzeł może mieć wiele potomków. Program ma umożliwiać nieograniczone dodawanie elementów do drzewa. Problem polega na tym, że nie mogę raczej stworzyć sobie tablicy a trzeba to najlepiej jakoś rozwiązać strukturami i wskaźnikami na zmienne dynamiczne. Ciężko zatem upakować tu np macierz sąsiedztw. Pojawił się pomysł ze strukturami tworzonymi dynamicznie, z których jedna to węzeł a druga jakby pomiędzy węzłami ze wskaźnikami. Problem był jednak techniczny, bo były 2 struktury, których elementy były typów struktury tej drugiej :P kompilator ich nie widział. Nie mogę znaleźć żadnego sensownego sposobu na to.
Proszę o pomoc i :)

PS oto te powyższe struktury:

struct wezel
{
	int ID;
	string nazwa;
	pomocnicza *wsk;
	
};

struct pomocnicza
{
	wezel* dziecko;
	wezel* rodzic;
	pomocnicza* rodzenstwo;
};

dodanie znacznika <code class="cpp"> - Furious Programming

0

Dlaczego nie możesz użyć tablicy z "dziećmi" (wskaźnikami na potomków)? To sprawdzony sposób i chyba najprostszy.

0

Ale tutaj raczej musiałbym mieć tablicę ograniczoną. mógłbym w zasadzie tworzyć tablice dynamiczne, ale sprawa wtedy się dość komplikuje. Bo np zwalnianie miejsca. Najlepiej dla mnie chyba byłoby zadeklarowanie tych 2 struktur, ale jakoś tak, żeby kompilator sobie z tym poradził. Nie wiem jak to zrobić i czy to jest możliwe.

0

Jeżeli już to coś w ten deseń:

struct dane
  {
   int ID;
   string nazwa;
  };

struct wezel
  {
   dane co_to_jest;
   wezel *pierwsze_dziecko,*rodzic,*rodzenstwo;
  };

1 użytkowników online, w tym zalogowanych: 0, gości: 1