Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct info
- {
- int numero;
- }info;
- typedef struct albero
- {
- info dati;
- struct albero *dx;
- struct albero *sx;
- }albero;
- typedef albero *palbero;
- ///Prototipi di funzione
- //gestione informazioni dell'albero
- void carica_info(info * );
- void stampa_info (info );
- //gestione albero
- palbero crea_albero(); //albero* crea_albero()
- palbero inserisci(palbero p, info dati);
- void visualizza (palbero p);
- int main()
- {
- palbero nodo;
- info appoggio;
- int i,n;
- nodo=crea_albero();
- printf("Inserisci il numero di elementi da inserire:"); scanf("%d",&n);
- for (i=0;i<n;i++)
- {
- carica_info(&appoggio);
- nodo=inserisci(nodo,appoggio);
- }
- visualizza(nodo);
- return 0;
- }
- ///sviluppo funzioni
- void carica_info(info *dato)
- {
- system("cls");
- printf("\nInseirisci il numero: "); scanf("%d",&dato->numero);
- }
- palbero crea_albero()
- {
- return NULL;
- }
- palbero inserisci(palbero p, info dati)
- {
- if(p==NULL)
- {
- palbero appoggio;
- appoggio=(palbero)calloc(1,sizeof(albero));
- appoggio->dati.numero=dati.numero;
- return appoggio;
- }
- else if(p->dati.numero>dati.numero)
- {
- p->sx=inserisci(p->sx,dati);
- return p;
- }
- else
- {
- p->dx=inserisci(p->dx,dati);
- return p;
- }
- }
- void stampa_info (info dato )
- {
- printf("\n%d",dato.numero);
- }
- void visualizza (palbero p)
- {
- if(p!=NULL)
- {
- visualizza(p->sx);
- stampa_info(p->dati);
- visualizza(p->dx);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement