Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* la funzione creaMatrice che dato un albero binario
- T di interi restituisca la matrice rettangolare
- corrispondente all’albero T /*
- int** creaMatrice(albero t) {
- int h;
- h = altezza(t) + 1;
- int** A = NULL;
- A = calloc(h, sizeof(int*));
- int i = 0;
- for(i = 0; i<h; i++) {
- A[i] == NULL;
- }
- creaMatrice_aux(t,A,0);
- return A;
- }
- void creaMatrice_aux(albero t, int** A, int l) {
- if(t) {
- if(A[l] == NULL) {
- int f = foglie(t);
- int* B = calloc(f, sizeof(int));
- int i = 0;
- riempi(t,B,&i);
- A[l] = B;
- }
- creaMatrice_aux(t->sx,A,l+1);
- creaMatrice_aux(t->dx,A,l+1);
- }
- }
- void riempi(albero t, int* B, int* i) {
- if(t) {
- B[*i] = t->info;
- *i = *i + 1;
- riempi(t->sx,B,i);
- riempi(t->dx,B,i);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement