#include #include #include "stabla.h" CVOR* kreiraj_cvor(int v){ CVOR *novi = malloc(sizeof(CVOR)); if(novi==NULL) exit(EXIT_FAILURE); novi->v = v; novi->l = NULL; novi->d = NULL; return novi; } void dodaj_cvor(CVOR **koren, int v){ if(*koren==NULL){ *koren = kreiraj_cvor(v); }else{ if(v>(*koren)->v) dodaj_cvor(&((*koren)->d),v); else dodaj_cvor(&((*koren)->l),v); } } void ispisi(CVOR *koren){ if(koren==NULL) return; ispisi(koren->l); printf("%d\n",koren->v); ispisi(koren->d); } CVOR *obrisi(CVOR *koren){ if(koren==NULL) return NULL; koren->l = obrisi(koren->l); koren->d = obrisi(koren->d); free(koren); return NULL; } CVOR *ucitaj_drvo_std(){ int v; CVOR *koren = NULL; while(1){ scanf("%d",&v); if(v==0) break; dodaj_cvor(&koren,v); } return koren; } int pronadji(CVOR *koren, int v){ if(koren==NULL) return 0; if(koren->v==v) return 1; if(koren->v > v) return pronadji(koren->l,v); if(koren->v < v) return pronadji(koren->d,v); }