Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    codice:
                temp = (struct nodo*)malloc(sizeof(struct nodo));            strcpy(temp->nome, buffer);
                printf("Inserire il valore di concentrazione di inquinante:\n");
                scanf("%lf", &temp->dato);
                   temp->next = NULL;
               if (p==NULL)         //se la lista e' vuota
               {
                   p=temp;
               }
               else         //se la lista non e' vuota
               {
                      if(temp->dato > p->dato) {
                          temp->next = p;
                      }
                      else while (p->next!=NULL)     //finche' non termina la lista
                   {
                        if (temp->dato > p->next->dato)        //se il nuovo dato e' maggiore dell'elemento successivo nella lista
                        {
                            temp->next = p->next;
                            p->next = temp;
                        }
                        else            //se non è maggiore consideriamo l'elemento successivo
                        {
                            p = p->next;
                        }
                   }
                   if(p->next == NULL) { //siamo arrivati alla fine della lista senza inserire l'elemento
                       p->next = temp;
                   }
               }
    ti ho corretto l'inserimento.
    A dire il vero non sono sicuro che sia corretto visto che torno da 5 ore di macchina e non l'ho neanche testato, potrei aver fatto qualche errore logico o qualche errore di battitura.
    Di sicuro non ha senso continuare ad allocare nuovi nodi e copiare dati visto che il vero vantaggio delle liste è appunto poter muovere dati copiando solo puntatori.
    Ultima modifica di Scara95; 06-01-2015 a 02:16
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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 © 2025 vBulletin Solutions, Inc. All rights reserved.