Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106

    [C]Chiarimenti lista bidirezionale

    Ciao a tutti ho trovato questa lista bidirezionale in rete xò ci sono diverse cose che non capisco le scrivo accanto ai vari passaggi che non ho chiari:
    codice:
    #include <stdio.h>
    #include <malloc.h>
    struct elemento
    {
     int informazione;
     struct elemento *succ;
     struct elemento *prec;
    };
    struct elemento *inserisci();
    void visualizza(struct elemento*);
    main()
    {
     struct elemento *lista;
     lista=inserisci();
     visualizza(lista);
     getchar();
     getchar();
    }
    struct elemento *inserisci()
    {
     struct elemento *testa,*corpo,*piede;
     int i,n;
     printf("Inserisci il numero di elementi della lista: ");          
     scanf("%d",&n);
     testa=(struct elemento *)malloc(sizeof(struct elemento));  {Qui alloca lo spazio per la 
     testa->prec=NULL;                                                        prima informazione e dice che
     printf("Inserisci il 1%c elemento: ",167);                            il valore precedente a testa è
     scanf("%d",&testa->informazione);                                   null}
     corpo=testa;
     for(i=2;i<=n;i++)
     {
      corpo->succ=(struct elemento *)malloc(sizeof(struct elemento)); {Alloca lo spazio per gli
      (corpo->succ)->prec=corpo;                                                  elementi successivi ma 
     printf("Inserisci il %d%c elemento: ",i,167);      non capisco (corpo->succ)->prec=corpo
      scanf("%d",&corpo->informazione);
     }
     corpo->succ=NULL;
     return(testa);   
    }
    void visualizza(struct elemento *puntatore)
    {
     printf("LISTA: ");
     while(puntatore->succ!=NULL)           {non bastava solo puntatore!=NULL??}
     {
      printf("--->%d",puntatore->informazione);
      puntatore=puntatore->succ;                     
     }
     printf("--->%d",puntatore->informazione);  {Da qui in poi non capisco perchè continua in 
     printf("--->NULL\n");                               questo modo}
     printf("LISTA: ");
     while(puntatore!=NULL)
     {
      printf("--->%d",puntatore->informazione);
      puntatore=puntatore->prec;
     }
     printf("--->NULL\n");
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    106
    Nessuno mi sa aiutare??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.