Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fseek(ISekvenc,-brojListova*sizeof(cvorZI),SEEK_CUR);
- int n = dubinaStabla - 1; //predstavlja poziciju krajnjeg levog cvora u dubinaStabla-1 nivou
- int k = brojUpisanihListova/2; // predstavlja maksimalan broj cvorova u dubinaStabla-1 nivou
- cvorZI noviCvor;
- while(n != 0){
- for (i = 0; i < k;i++){
- fread(&c1,sizeof(cvorZI),1,ISekvenc);
- noviCvor.slogovi[0] = c1.slogovi[0];
- fread(&c1,sizeof(cvorZI),1,ISekvenc);
- noviCvor.slogovi[1] = c1.slogovi[0];
- noviCvor.pozicijaUStablu = pow(2,n - 1) + i;
- rewind(ISekvenc); //vrati se na pocetak fajla,pa na mesto (2*n + i - 1) i upisi novi cvor na njegovu poziciju
- fseek(ISekvenc,(noviCvor.pozicijaUStablu - 1) * sizeof(cvorZI),SEEK_CUR);
- fwrite(&noviCvor,sizeof(cvorZI),1,ISekvenc);
- fseek(ISekvenc,(k-i-1 + 2*(i+1))*sizeof(cvorZI),SEEK_CUR);
- }
- n = n -1;
- k = k/2;
- }
- fclose(ISekvenc);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement