Revision: 68514
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2015 07:36 by akljaic
Initial Code
#include <iostream>
using namespace std;
struct bt{
char label;
bool used;
};
struct btree{
bt element[1000];
};
typedef struct btree element;
bool ExistLeftChild(int n, btree *T){
if(T->element[2*n].used) return true;
return false;
}
bool ExistRightChild(int n, btree *T){
if(T->element[2*n+1].used) return true;
return false;
}
int ParentB(int n, btree *T){
if(T->element[1].label == n) return -1;
if(n%2) return n/2+1;
else return n/2;
}
int LeftChildB(int n, btree *T){
if(T->element[n*2].used) return n*2;
else return -1;
}
int RightChildB(int n, btree *T){
if(T->element[n*2+1].used) return n*2+1;
else return -1;
}
int LabelB(int n, btree *T){
return T->element[n].label;
}
void ChangeLabelB(int x, int n, btree *T){
T->element[n].label = x;
}
int RootB(btree *T){
return T->element[1].label;
}
void DeleteB(int n, btree *T){
if(LeftChildB(n,T) != -1) DeleteB(LeftChildB(n,T),T);
if(RightChildB(n,T) != -1) DeleteB(RightChildB(n,T),T);
T->element[n].used = false;
}
btree *InitB(int x, btree *T){
T = new btree;
for (int i=2; i<1000; i++)
T->element[i].used = false;
T->element[1].label = x;
T->element[1].used = true;
return T;
}
void CreateLeftB(int x, int n, btree *T){
if (T->element[n*2].used) cout << "Ima vec lijevo dijete!" << endl;
else{
T->element[n*2].label = x;
T->element[n*2].used = true;
}
}
void CreateRightB(int x, int n, btree *T){
if (T->element[n*2+1].used) cout << "Ima vec desno dijete!" << endl;
else{
T->element[n*2+1].label = x;
T->element[n*2+1].used = true;
}
}
Initial URL
asdf
Initial Description
asdf
Initial Title
binarno_polje.h
Initial Tags
Initial Language
C++