/ Published in: C++
bstablo_pretrazivanja.h
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 dodaj_element_u_stablo(telement *binstablo){ int broj; telement *zadnji,*novi; int dalje=1; zadnji=binstablo; do{ cout<<"Unesite broj (0-izlaz): "; cin>>binstablo->broj; broj=binstablo->broj; 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; } } else{ if(zadnji->lijevo!=NULL){ zadnji=zadnji->lijevo;} else{ novi=new telement; zadnji->lijevo=novi; novi->broj=broj; novi->lijevo=NULL; novi->desno=NULL; } } }while(broj!=0); }; void sort_uzlazno(telement*binstablo){ static telement*korijen=binstablo; if(binstablo==NULL) return; sort_uzlazno(binstablo->lijevo); if(binstablo!=korijen) cout<<binstablo->broj<<", "; sort_uzlazno(binstablo->desno); }; void sort_silazno(telement*binstablo){ static telement*korijen=binstablo; if(binstablo==NULL) return; sort_uzlazno(binstablo->desno); if(binstablo!=korijen) cout<<binstablo->broj<<", "; sort_uzlazno(binstablo->lijevo); }; telement*trazi(telement*binstablo,int broj){ telement *tekuci=binstablo; while(tekuci){ if((tekuci->broj==broj)&&(tekuci!=binstablo)) break; if(broj>tekuci->broj) tekuci=tekuci->desno; else tekuci=tekuci->lijevo; }; return tekuci; }; void dealokacija(telement*binstablo){ if(binstablo->lijevo) dealokacija(binstablo->lijevo); if(binstablo->desno) dealokacija(binstablo->desno); delete binstablo; return; };