anisambol  [ Profile ]

Sort by: Date / Title /

  1. 2 months ago
    struct elmnt {
           int vrij;
           bool juzd;
    };
    
    struct binstab {
           struct elmnt elmnti[10000];
    };
    
    typedef struct binstab *binstablo;
    typedef int chvor;
    
    chvor InitB(chvor ruut, binstab *binstablo){
         int i;
         for(i=0; i<10000;i++)
                  binstablo->elmnti[i].juzd=false;
         binstablo->elmnti[0].vrij=ruut;
         binstablo->elmnti[0].juzd=true;   
         return 0; 
    }
    
    chvor RootB(binstab *binstablo){
         if(binstablo->elmnti[0].juzd==true) return 0;
         else
             return -1;
    }
    
    chvor LeftChildB(chvor ind, binstab *binstablo){
         if(binstablo->elmnti[(ind*2)+1].juzd==true) return (ind*2)+1;
         else
             return -1; 
    }
    
    chvor RightChildB(chvor ind, binstab *binstablo){
              if(binstablo->elmnti[(ind*2)+2].juzd==true) return (ind*2)+2;
              else
                  return -1;
    }
    
    chvor ParentB(chvor ind, binstab *binstablo){
              if(ind < 1) return -1;
              if(binstablo->elmnti[int((ind-1)/2)].juzd==true) return int((ind-1)/2);
              else
                  return -1;
    }
    
    chvor CreateLeftB(int vrij, chvor ind, binstab *binstablo){
         int x=(ind*2)+1;
         if(LeftChildB(ind, binstablo)==-1){
                               binstablo->elmnti[x].vrij=vrij;
                               binstablo->elmnti[x].juzd=true;
         }
         else{
              cout<<"Vec postoji lijevo dijete."<<endl;
         }
    }
    
    chvor CreateRightB(int vrij, chvor ind, binstab *binstablo){
              int x=(ind*2)+2;
              if(RightChildB(ind, binstablo)==-1){
                                     binstablo->elmnti[x].vrij=vrij;
                                     binstablo->elmnti[x].juzd=true;                       
              }
              else{
                   cout<<"Vec postoji desno dijete."<<endl;
              }
    }
    
    int LabelB(chvor ind, binstab *binstablo){
        if(binstablo->elmnti[ind].juzd==true) return binstablo->elmnti[ind].vrij;
        else{
            cout<<"Ovaj cvor nema vrijednost."<<endl;
        }
    }
    
    void ChangeLabelB(int vrij, chvor ind, binstab *binstablo){
         if(binstablo->elmnti[ind].juzd==true){
             binstablo->elmnti[ind].vrij=vrij;
         }
         else{
              cout<<"Ovaj cvor nema vrijednost."<<endl;
         }
    }
    
    void DeleteB(chvor ind, binstab *binstablo){
         if(binstablo->elmnti[(ind*2)+1].juzd==true){
              DeleteB((ind*2)+1, binstablo);
         }
         if(binstablo->elmnti[(ind*2)+2].juzd==true){
              DeleteB((ind*2)+2, binstablo);
         }
         binstablo->elmnti[ind].juzd=false;
    }
    Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/2031"></script>
  2. 2 months ago
    struct elmnt {
           int vrij;
           struct elmnt *left,*right;
    };
    
    typedef struct elmnt *chvor;
    typedef struct elmnt *binstablo;
    
    void InitB(int vrij, binstablo B){
         chvor nuevo;
         nuevo= new elmnt;
         nuevo->vrij=vrij;
         nuevo->left=NULL;
         nuevo->right=NULL;
         B=nuevo;
    }
    
    chvor RootB(binstablo B){
         if(B==NULL) cout<<"Nema korijena stabla."<<endl;
         return B;
    }
    
    chvor LeftChildB(chvor C, binstablo B){
         return C->left;
    }
    
    chvor RightChildB(chvor C, binstablo B){
         return C->right;
    }
    
    chvor ParentB(chvor C, binstablo B){
         if(C==B) return NULL;
         chvor starci;
         if(B->left!=NULL){ 
                     if(B->left==C) return B->left;
                     starci=ParentB(C,B->left);
         }
         if(B->right!=NULL){
                    if(B->right==C) return B->right;
                    starci=ParentB(C,B->right);
         }
         return starci;
    }
    
    void CreateLeftB(int vrij, chvor C, binstablo B){
         chvor nuevo;
         nuevo = new elmnt;
         if(LeftChildB(C, B)) cout<<"Vec postoji lijevo dijete."<<endl;
         else{
              nuevo->vrij=vrij;
              nuevo->left=NULL;
              nuevo->right= NULL;
              C->left=nuevo;
         }
    }
    
    void CreateRightB(int vrij, chvor C, binstablo B){
         chvor nuevo;
         nuevo= new elmnt;
         if(RightChildB(C, B)) cout<<"Vec postoji desno dijete."<<endl;
         else{
              nuevo->vrij=vrij;
              nuevo->left=NULL;
              nuevo->right=NULL;
              C->right=nuevo;
         }
    }
    
    int LabelB(chvor C, binstablo B){
        if(C==NULL){
                    cout<<"Nepostojeci cvor."<<endl;
                    return -1;
        }
        return B->vrij;
    }
    
    void ChangeLabelB(int vrij, chvor C, binstablo B){
         if(C==NULL) cout<<"Nepostojeci cvor."<<endl;
         else{
              B->vrij=vrij;
         }
    }
    
    void DeleteB(chvor C, binstablo B){
         if (C->left!=NULL) DeleteB(C->left, B);
         if (C->right!=NULL) DeleteB(C->right, B);
         delete C;
    }
    Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/2030"></script>

First / Previous / Next / Last / Page 1 of 1 (2 posteets)