Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- Cvor* drugi(Cvor* stabloB){
- }
- void obrisiPodstablo(vector<int>& st, int i){
- if(i<st.size()){
- obrisiPodstablo(st,i*2+1);//lijevo dijete
- obrisiPodstablo(st,i*2+2);//desno dijete
- st[i]=-1;
- }
- }
- void obrisiPodstablo(Cvor* &cvor){
- if(cvor!=nullptr){
- obrisiPodstablo(cvor->desno);
- obrisiPodstablo(cvor->lijevo);
- delete cvor;
- cvor=nullptr;
- }
- }
- int funkcija(vector<int> stabloA, Cvor* stabloB){
- //y = 2 * x +1
- // x = (y-1) / 2
- int i=0;
- /*
- int vel = stabloA.size();
- while((i*2+2)<vel){
- i=i*2+2;
- }
- i=(i-2)/2; //roditelj
- */
- Cvor* rod=stabloB;
- if(stabloB==nullptr || stabloA.size==0) return NULL; //ako jedan od ova 2 nema elemenata, vratimo NULL kao signal
- Cvor* p = stabloB->desno;
- while(p!=nullptr){
- p=p->desno;
- rod=rod->desno;
- }
- int el = rod->element;
- int max=stabloA[0];
- int indexMax=0;
- for(int i=1; i<stabloA.size(); i++){
- if(abs(stabloA[i]-el) < abs(max-el)){
- max=stabloA[i];
- indexMax = i;
- }
- }
- int temp = indexMax;
- //brisemo lijevo podstablo
- while(indexMax<stabloA.size()){
- stabloA[indexMax]=-1;
- indexMax = indexMax*2+1;
- if(indexMax<stabloA.size()) stabloA[indexMax]=-1;
- indexMax++;
- }
- }
- int main(){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement