Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Wierzcholek
- {
- public:
- string klucz;
- Wierzcholek* ojciec;
- Wierzcholek* lsyn;
- Wierzcholek* psyn;
- //if l i p = NULL to wierzch jest LISCIEM
- Wierzcholek(string klucz)
- {
- ojciec=NULL;
- lsyn=NULL;
- psyn=NULL;
- this->klucz=klucz;
- }
- friend class Drzewo;
- };
- class Drzewo
- {
- public:
- Wierzcholek* korzen;
- Drzewo()
- {
- korzen=NULL;
- }
- void inOrder(Wierzcholek* x)
- {
- if(x->lsyn!=NULL)
- {
- inOrder(x->lsyn);
- }
- cout<<x->klucz<<endl;
- if(x->psyn!=NULL)
- {
- inOrder(x->psyn);
- }
- }
- void postOrder(Wierzcholek* x)
- {
- if(x->lsyn!=NULL)
- {
- postOrder(x->lsyn);
- }
- if(x->psyn!=NULL)
- {
- postOrder(x->psyn);
- }
- cout<<x->klucz<<endl;
- }
- void preOrder(Wierzcholek* x)
- {
- cout<<x->klucz<<endl;
- if(x->lsyn!=NULL)
- {
- preOrder(x->lsyn);
- }
- if(x->psyn!=NULL)
- {
- preOrder(x->psyn);
- }
- }
- };
- int main()
- {
- /* 3 sposoby wyse=wietlania
- inOrder
- DBEAC od lewej do prawej??
- -preOrder
- ABDEC od gory po lewej, potem jeden w prawo i znowu do lewej
- -postOrder
- DEBCA
- */
- Drzewo* drzewo = new Drzewo();
- Wierzcholek* a = new Wierzcholek("A");
- Wierzcholek* b = new Wierzcholek("B");
- Wierzcholek* c = new Wierzcholek("C");
- Wierzcholek* d = new Wierzcholek("D");
- Wierzcholek* e = new Wierzcholek("E");
- drzewo->korzen = a;
- a->lsyn=b;
- a->psyn=c;
- b->ojciec=a;
- c->ojciec=a;
- b->lsyn=d;
- b->psyn=e;
- d->ojciec=b;
- e->ojciec=b;
- drzewo->inOrder(drzewo->korzen);
- cout<<endl;
- drzewo->postOrder(drzewo->korzen);
- cout<<endl;
- drzewo->preOrder(drzewo->korzen);
- cout<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement