|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2015
Messaggi: 2
|
Problema inserimento albero N-ario tramite vettore
la funzione proposta svolge se inserisco un primo elemento se voglio inserire altri elementi si perdono i puntatori. posto sia la funzione che la struttura.grazie per l' aiuto.
struct nodoalbero{ int info; int numfigli; struct nodoalbero **figli; }; struct nodoalbero *inserimentoAlbero(struct nodoalbero *radice,int padre,int figlio){ int i=0; if(radice==NULL){ radice=(struct nodoalbero *)malloc(sizeof(struct nodoalbero)); radice->info=figlio; radice->numfigli=0; radice->figli=(struct nodoalbero **)malloc(sizeof(struct nodoalbero *)*radice->numfigli); }else if(radice->info==padre){ radice->figli=(struct nodoalbero **)realloc(radice->figli,radice->numfigli+1); radice->numfigli=+1; radice->figli[radice->numfigli]=newnodo(figlio); return radice; }else{ for(i=0;i<radice->figli[i];i++) radice->figli[i]=inserimentoAlbero(radice->figli[i],padre,figlio); } return radice; } struct nodoalbero *newnodo(int x){ struct nodoalbero *e=NULL; e=(struct nodoalbero *)malloc(sizeof(struct nodoalbero)); e->info=x; e->numfigli=0; e->figli=(struct nodoalbero **)malloc(sizeof(struct nodoalbero *)*e->numfigli); return e; } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:45.