NicolaDelPrete

Albero Binario

May 24th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.20 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <assert.h>
  5.  
  6. typedef struct albero
  7. {
  8.     int num;
  9.     struct albero *sx,*dx;
  10. }albero;
  11. typedef albero *palbero;
  12. palbero crea_albero()
  13. {
  14.     return NULL;
  15. }
  16. palbero carica_albero(palbero nodo,int m)
  17. {
  18.     if(nodo==NULL)
  19.     {
  20.        albero *nuovo;
  21.        nuovo=malloc(sizeof(albero));
  22.        nuovo->num=m;
  23.        nuovo->dx=NULL;
  24.        nuovo->sx=NULL;
  25.        return nuovo;
  26.     }else if (nodo->num <= m)
  27.         {
  28.             nodo->dx=carica_albero(nodo->dx,m);
  29.             return nodo;
  30.         }else
  31.         {
  32.             nodo->sx=carica_albero(nodo->sx,m);
  33.             return nodo;
  34.         }
  35. }
  36. void stampa(palbero nodo)
  37. {
  38.     if(nodo!=NULL)
  39.     {
  40.         stampa(nodo->sx);
  41.         printf("%d  ",nodo->num);
  42.         stampa(nodo->dx);
  43.     }
  44. }
  45. int main()
  46. {
  47.     palbero nodo ;
  48.     nodo=crea_albero();
  49.     int i,dim,m;
  50.     printf("Quanti elementi si vogliono inserire: ");
  51.     scanf("%d",&dim);
  52.     for(i=0;i<dim;i++)
  53.     {
  54.         printf("Inserire l'elemento: ");
  55.         scanf("%d",&m);
  56.         nodo=carica_albero(nodo,m);
  57.     }
  58.     system("CLS");
  59.     printf("Stampa dell'albero:\n");
  60.     stampa(nodo);
  61. }
Advertisement
Add Comment
Please, Sign In to add comment