Revision: 68452
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2015 02:08 by zeleee
Initial Code
#include <iostream> using namespace std; struct tbstablo{ int oznaka; tbstablo *lc,*rc; }; typedef tbstablo* cvor; typedef cvor btree; cvor parentB(cvor n, btree stablo){ cvor parentL=NULL, parentR=NULL; if (stablo->lc == n || stablo->rc == n) //ako je lijevo dijete stabla ili desno dijete stabla jednako tom cvoru vrati adresu stabla return stablo; if (stablo->lc) //u suprotnom ako postoji lijevo dijete trazi lijevo parentL = parentB(n, stablo->lc); if (stablo->rc) //ako postoji desno dijete trazi desno parentR = parentB(n, stablo->rc); if (parentL) //ako je razl. od NULL tada je roditelj nadjen kod lijevog dijeteta return parentL; if (parentR) //ako je razl. od NULL tada je roditelj nadjen kod desnog dijeteta return parentR; return NULL; //inace vrati NULL(nije nadjen roditelj,tj. ne postoji roditelj) } cvor leftchildB(cvor n,btree stablo){ return n->lc; } cvor rightchildB(cvor n,btree stablo){ return n->rc; } int labelB(cvor n, btree stablo){ return n->oznaka; } void changelabelB(int x, cvor n,btree stablo){ n->oznaka=x; } cvor rootB(btree stablo){ return stablo; } void createleftB(int x,cvor n,btree stablo){ if(n->lc) cout<<"Cvor je zauzet!"<<endl; else{ cvor novi=new tbstablo; n->lc=novi; novi->lc=NULL; novi->rc=NULL; novi->oznaka=x; } } void createrightB(int x,cvor n,btree stablo){ if(n->rc) cout<<"Cvor je zauzet!"<<endl; else{ cvor novi=new tbstablo; n->rc=novi; novi->lc=NULL; novi->rc=NULL; novi->oznaka=x; } } void deleteB (cvor n,btree stablo) { if (n->lc) deleteB(n->lc, stablo); if (n->rc) deleteB(n->rc, stablo); if (n != rootB(stablo) && leftchildB(parentB(n, stablo),stablo)==n) parentB(n, stablo)->lc = NULL; else if (n != rootB(stablo)) parentB(n, stablo)->rc = NULL; cout << "Izbrisan cvor " << n->oznaka << "." << endl; cout<< "Adresa lijevog dijeteta dvora:"<<n->lc<<endl; cout<< "Adresa desnog dijeteta cvora:"<<n->rc<<endl; delete n; } void initB(int x,btree stablo){ stablo->lc = stablo->rc = NULL; stablo->oznaka = x; }
Initial URL
Initial Description
4
Initial Title
Binarno stablo pokazivaci
Initial Tags
Initial Language
C++