#include #include #include "string.h" #include "stabla_reci.h" CVOR* kreiraj_cvor(char *rec){ CVOR *novi = malloc(sizeof(CVOR)); if(novi==NULL) exit(EXIT_FAILURE); strcpy(novi->rec,rec); novi->l = NULL; novi->d = NULL; novi->pojavljivanja=1; return novi; } void dodaj_cvor(CVOR **koren, char *rec){ if(*koren==NULL){ *koren = kreiraj_cvor(rec); }else{ if(strcmp(rec,(*koren)->rec)>0) dodaj_cvor(&((*koren)->d),rec); else if(strcmp(rec,(*koren)->rec)<0) dodaj_cvor(&((*koren)->l),rec); else (*koren)->pojavljivanja++; } } void ispisi(CVOR *koren){ if(koren==NULL) return; ispisi(koren->l); printf("%s %d\n",koren->rec,koren->pojavljivanja); 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(){ char rec[MAXDUZ]; CVOR *koren = NULL; while(1){ scanf("%s",rec); if(strcmp(rec,"KRAJ")==0) break; dodaj_cvor(&koren,rec); } return koren; }