• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Drzewko czwórkowe- poruszanie się

Object Storage Arubacloud
0 głosów
231 wizyt
pytanie zadane 1 czerwca 2021 w C i C++ przez Nekronomik Użytkownik (600 p.)
Witam, mam napisane drzewko czwórkowe które tworzy się dynamicznie dodając nowe węzły i obiekty i z tym nie ma problemu. Problem jest taki że nie mogę nic wymyśleć jak teraz dostać się do każdego obiektu  w tym drzewku.
Obiekty przechowuje w osobnym kontenerze dwukierunkowym które dodaje do drzewka.
Drzewko tez jest osobnym kontenerem.
komentarz 2 czerwca 2021 przez tangarr Mędrzec (154,860 p.)
Co masz na myśli mówiąc "dostać się do każdego elementu"?
Chcesz przeiterować po całym drzewie?
Pokaż strukturę drzewa.
komentarz 2 czerwca 2021 przez Nekronomik Użytkownik (600 p.)
class Drzewko_czworkowe_kontener
{
    public:
        Drzewko_czworkowe_kontener *K;
        Drzewko_czworkowe_kontener *A;
        Drzewko_czworkowe_kontener *B;
        Drzewko_czworkowe_kontener *C;
        Drzewko_czworkowe_kontener *D;
        Obiekt *zapisz_A;
        Obiekt *zapisz_B;
        Obiekt *zapisz_C;
        Obiekt *zapisz_D;
        int x1;
        int x2;
        int y1;
        int y2;
        Drzewko_czworkowe_kontener()
        {
            K=NULL;
            A=NULL;
            B=NULL;
            C=NULL;
            D=NULL;
            zapisz_A=NULL;
            zapisz_B=NULL;
            zapisz_C=NULL;
            zapisz_D=NULL;
        }
        int z_x1(int &n_x1) {return x1=n_x1;}
        int z_x2(int &n_x2) {return x2=n_x2;}
        int z_y1(int &n_y1) {return y1=n_y1;}
        int z_y2(int &n_y2) {return y2=n_y2;}
};

Dokładnie chcę przeiterować całe drzewko aby sprawdzać obiekty które są blisko siebie

komentarz 2 czerwca 2021 przez j23 Mędrzec (194,920 p.)

No a rekurencyjnie próbowałeś?

void foo(Drzewko_czworkowe_kontener* root)
{
    if(!root) return;

    foo(root->K);
    foo(root->A);
    foo(root->B);
    foo(root->C);
    foo(root->D);    
}

 

komentarz 8 czerwca 2021 przez Nekronomik Użytkownik (600 p.)
Rekurencja całkowicie wypadła mi z głowy. Teraz funkcja ładnie skacze po każdej gałęzi. Dzięki wielkie.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 181 wizyt
pytanie zadane 26 września 2020 w C i C++ przez olamas Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 248 wizyt
pytanie zadane 6 lipca 2021 w C i C++ przez Nekronomik Użytkownik (600 p.)
0 głosów
0 odpowiedzi 130 wizyt
pytanie zadane 14 czerwca 2021 w C i C++ przez Nekronomik Użytkownik (600 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...