Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. /* la funzione creaMatrice che dato un albero binario
  2. T di interi restituisca la matrice rettangolare
  3. corrispondente all’albero T /*
  4.  
  5. int** creaMatrice(albero t) {
  6. int h;
  7. h = altezza(t) + 1;
  8. int** A = NULL;
  9. A = calloc(h, sizeof(int*));
  10. int i = 0;
  11. for(i = 0; i<h; i++) {
  12. A[i] == NULL;
  13. }
  14. creaMatrice_aux(t,A,0);
  15. return A;
  16. }
  17.  
  18. void creaMatrice_aux(albero t, int** A, int l) {
  19. if(t) {
  20. if(A[l] == NULL) {
  21. int f = foglie(t);
  22. int* B = calloc(f, sizeof(int));
  23. int i = 0;
  24. riempi(t,B,&i);
  25. A[l] = B;
  26. }
  27. creaMatrice_aux(t->sx,A,l+1);
  28. creaMatrice_aux(t->dx,A,l+1);
  29. }
  30. }
  31.  
  32. void riempi(albero t, int* B, int* i) {
  33. if(t) {
  34. B[*i] = t->info;
  35. *i = *i + 1;
  36. riempi(t->sx,B,i);
  37. riempi(t->dx,B,i);
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement