All pastes #1745805 Raw Edit

bstablo_polje_dpkosovec

public cpp v1 · immutable
#1745805 ·published 2010-01-10 18:45 UTC
rendered paste body
#include <iostream>using namespace std;struct element {       int ozn;       bool iskoristeno;};struct btree {       element elements[10000];};int ParentB (int n, btree a) {    if (n==0) { cout <<"Cvor je korijen --> nema roditelja"<<endl;           return -1; }    else { if (n%2==0) return (int)(n/2)-1;         else return (int)(n/2);         }};int LeftChildB (int n, btree *a) {    if (a->elements[2*n+1].iskoristeno==false) { cout <<"Cvor nema lijevog djeteta"<<endl;                                       return -1;                                       }    else return (2*n+1);};int RightChildB (int n, btree *a) {    if (a->elements[2*n+2].iskoristeno==false) { cout <<"Cvor nema desnog djeteta!"<<endl;                                       return -1;                                       }    else return (2*n+2);};int LabelB (int n, btree *a) {    if (a->elements[n].iskoristeno==false) { cout <<"Cvor ne postoji!"<<endl;                                       return -1;                                       }    else return a->elements[n].ozn;};void ChangeLabelB (int x, int n, btree *a) {     if (a->elements[n].iskorišteno==true) {                                    a->elements[n].ozn=x;                                    }     else { cout <<"Element ne postoji pa se ne moze ni promijeniti"<<endl;}};int RootB (btree *a) {    if(a->elements[0].iskoristeno==false) { return -1; }    else return 0;};void CreateLeftB (int x, int n, btree *a) {     if (a->elements[2*n+1].iskoristeno==true) { cout <<"Lijevo dijete tog cvora vec postoji"<<endl;}     else {     if (a->elements[n].iskoristeno==true && a->elements[2*n+1].iskoristeno==false) {                                   a->elements[2*n+1].ozn=x;                                   a->elements[2*n+1].iskoristeno=true;                                   }     else cout <<"Nemoguce je dodati cvor"<<endl;     }};void CreateRightB (int x, int n, btree *a) {     if (a->elements[2*n+2].iskoristeno==true) { cout <<"Desno dijete tog cvora vec postoji"<<endl; }     else {     if (a->elements[n].iskoristeno==true && a->elements[2*n+2].iskoristeno==false) {                                   a->elements[2*n+2].ozn=x;                                   a->elements[2*n+2].iskoristeno=true;                                   }     else cout <<"Nemoguce je dodati cvor"<<endl;     }};void DeleteB (int n, btree *a) {     if (a->elements[n*2+1].iskoristeno) DeleteB (n*2+1, a);     if (a->elements[n*2+2].iskoristeno) DeleteB (n*2+2, a);     a->elements[n].iskoristeno=false;};void InitB (int x, btree *a) {     a->elements[0].ozn=x;     a->elements[0].iskoristeno=true;     for (int i=1; i<10000; i++)		a->elements[i].iskoristeno=false;};