Tags: implementacija stabla pokazivač

Sort by: Date / Title /

  1. 1 month ago by anisambol
    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 (1 posteets)