/ Published in: C++
Stablo
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> using namespace std; struct telement{ int broj; telement *lijevo,*desno; }; void alokacija() { telement *stablo = new telement; stablo -> lijevo = NULL; stablo -> desno = NULL; } void dodaj_element_u_stablo (int broj){ telement *stablo = new telement; telement *zadnji,*novi; int dalje = 1; zadnji = stablo; do{ if(broj > zadnji->broj){ if(zadnji->desno != NULL){ zadnji = zadnji->desno; } else{ novi = new telement; zadnji->desno = novi; novi->broj = broj; novi->lijevo = NULL; novi->desno = NULL; dalje = 0; } } else{ if(zadnji->lijevo != NULL){ zadnji=zadnji->lijevo; } else{ novi = new telement; zadnji->lijevo=novi; novi->broj=broj; novi->lijevo=NULL; novi->desno=NULL; dalje=0; } } }while (dalje==1); } void sort_uzlazno (){ telement *stablo = new telement; static telement *korijen = stablo; if(stablo==NULL) return; sort_uzlazno(); if(stablo != korijen) cout << stablo -> broj << ", "; sort_uzlazno(); } void sort_silazno(){ telement *stablo = new telement; static telement *korijen = stablo; if(stablo==NULL) return; sort_uzlazno(); if(stablo != korijen) cout << stablo -> broj << ", "; sort_uzlazno(); } telement *pretrazivanje(){ int broj; telement *stablo = new telement; telement *tekuci = stablo; while (tekuci){ if((tekuci->broj==broj)&&(tekuci!=stablo)) break; if(broj>tekuci->broj) tekuci=tekuci->desno; else tekuci=tekuci->lijevo; } return tekuci; } void dealokacija(){ telement *stablo = new telement; if(stablo->lijevo) dealokacija(); if(stablo->desno) dealokacija(); delete stablo; return; }