Drzewo BST
Ostatnio zmodyfikowano 2015-10-24 14:10
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 : #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 ? |
|
« 1 » |