Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Drzewo BST

Ostatnio zmodyfikowano 2015-10-24 14:10
Autor Wiadomość
ast44
Temat założony przez niniejszego użytkownika
Drzewo BST
» 2015-10-24 14:10:30
Chciałem sobie zaimplementować dodawanie (na razie) elementów takiego drzewa.Jednak mam problem ze zrozumieniem jak zrobić dobrze poruszanie się po elementach :
C/C++
#include <iostream>

using namespace std;

class Element
{
    int wartosc;
    Element * rodzic, * lewy_potomek, * prawy_potomek;
   
    Element()
    {
        wartosc = 0;
        rodzic = NULL;
        lewy_potomek = NULL;
        prawy_potomek = NULL;
    }
};

class Glowa
{
    Element * pierwszy;
   
    void dodaj()
    {
        Element * element_ptr = new Element;
        cout << "Podaj element" << endl;
        cin >> element_ptr->wartosc;
       
        if( pierwszy = NULL )
        {
            pierwszy = element_ptr;
        }
        else
        {
            Element * tmp = pierwszy;
           
            while( tmp != NULL )
            {
                if( element_ptr->wartos >= tmp->wartosc )
                {
                    tmp = tmp->prawy_potomek;
                }
                else
                {
                    tmp = tmp->lewy_potomek;
                }
            }
        }
    }
   
    Glowa()
    {
        pierwszy = NULL;
    }
};

int main()
{
    return 0;
}

Chciałem tak zrobić żeby po wykonaniu się pętli while w tmp wskazywał na element po którym będę dodawał bezpośrednio nowy element.Wydaje mi się jednak że w ten sposób otrzymam tmp==NULL , który będzie wskaźnikiem lewy_potomek lub prawy_potomek ,a nie elementu do którego należą.

Jest jakiś fajny patent żeby zrobić dobre dodawanie ?
P-139101
« 1 »
  Strona 1 z 1