Return to Snippet

Revision: 68461
at January 19, 2015 02:37 by mateocindric


Initial Code
#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; 
     };

Initial URL


Initial Description
bstablo_pretrazivanja.h

Initial Title
bstablo_pretrazivanja.h

Initial Tags


Initial Language
C++