Revision: 68405
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 17, 2015 02:06 by cvitka
Initial Code
#include <iostream> using namespace std; struct element { int label; bool used; }; struct binarno_stablo { struct element elementi[1000]; }; int ParentB(int n, binarno_stablo *B) { if(B->elementi[n].used!=0) return (n/2); else return -1; }; int LeftChildB(int n, binarno_stablo *B) { if(B->elementi[n].used!=0 && B->elementi[n*2].used==1) return (n*2); else return -1; }; int RightChildB(int n, binarno_stablo *B) { if(B->elementi[n].used!=0 && B->elementi[n*2+1].used==1) return (n*2+1); else return -1; }; int LabelB(int n, binarno_stablo *B) { if(B->elementi[n].used!=0) return B->elementi[n].label; else return -1; }; int ChangeLabelB(int x,int n, binarno_stablo *B) { if(B->elementi[n].used!=0) B->elementi[n].label=x; else return -1; }; int RootB(binarno_stablo *B) { if(B->elementi[1].used!=0) return B->elementi[1].label; else return -1; }; int CreateLeftB(int x, int n, binarno_stablo *B) { if(B->elementi[n].used!=0 && B->elementi[n*2].used==0) { B->elementi[n*2].label=x; B->elementi[n*2].used=1; } else return -1; }; int CreateRightB(int x, int n, binarno_stablo *B) { if(B->elementi[n].used!=0 && B->elementi[n*2+1].used==0) { B->elementi[n*2+1].label=x; B->elementi[n*2+1].used=1; } else return -1; }; void DeleteB(int n, binarno_stablo *B) { if(B->elementi[n].used!=0) { if(B->elementi[n*2].used==1) DeleteB(n*2, B); if(B->elementi[n*2+1].used==1) DeleteB(n*2+1, B); B->elementi[n].used=0; } else return; }; void InitB(int x, binarno_stablo *B) { B->elementi[1].label=x; B->elementi[1].used=1; for(int i=2;i<1000;i++) B->elementi[i].used=0; };
Initial URL
Initial Description
Implementacija binarnog stabla pomoću polja u jeziku C++
Initial Title
bstablo_polje.h
Initial Tags
Initial Language
C++