Revision: 68387
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 15, 2015 08:31 by davbijeli
Initial Code
#include <iostream>
using namespace std;
struct telement{
int broj;
telement *lijevo,*desno;
};
void alokacija() {
telement *b_stablo = new telement;
b_stablo -> lijevo = NULL;
b_stablo -> desno = NULL;
}
void dodaj_element_u_stablo (int broj){
telement *b_stablo = new telement;
telement *zadnji,*novi;
int dalje = 1;
zadnji = b_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{//broj<=zadnji->broj
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 *b_stablo = new telement;
static telement *korijen = b_stablo;
if(b_stablo==NULL) return;
sort_uzlazno();
if(b_stablo != korijen) cout << b_stablo -> broj << ", ";
sort_uzlazno();
}
void sort_silazno(){
telement *b_stablo = new telement;
static telement *korijen = b_stablo;
if(b_stablo==NULL) return;
sort_uzlazno();
if(b_stablo != korijen) cout << b_stablo -> broj << ", ";
sort_uzlazno();
}
telement *trazi(){
int broj;
telement *b_stablo = new telement;
telement *tekuci = b_stablo;
while (tekuci){
if((tekuci->broj==broj)&&(tekuci!=b_stablo)) break;
if(broj>tekuci->broj)
tekuci=tekuci->desno;
else
tekuci=tekuci->lijevo;
}
return tekuci;
}
void dealokacija(){
telement *b_stablo = new telement;
if(b_stablo->lijevo) dealokacija();
if(b_stablo->desno) dealokacija();
delete b_stablo;
return;
}
Initial URL
Initial Description
Implementacija binarnoga stabla pretraživanja.
Initial Title
Binarno stablo pretraživanja
Initial Tags
Initial Language
C++