Aiuto con le liste

di il
1 risposte

Aiuto con le liste

Ho già letto il manuale di programmazione per le liste ma sinceramente ci ho capito ben poco,ho trovato questo pezzo di linguaggio,potreste spiegarmi il signicato di ogni istruzione di void inserisci?GRAZIE MILLE

#include <iostream>
using namespace std;
struct cella
}
  int valore;
  cella* succ;
;{
typedef cella* lista;
// Questa procedura inserisce nella lista i valori forniti da tastiera
void inserisci(lista& inizio, int e)
}
  lista p = 0, q,r;
  
  for(q=inizio; q != 0; q = q->succ)
    p = q;
    
  r = new cella;
  r -> valore = e;
  r -> succ = 0;
  
  if(inizio == 0)
    inizio = r;  
  else
    p -> succ = r;
}

1 Risposte

  • Re: Aiuto con le liste

    
    void inserisci(lista& inizio, int e)
    {
    	//definizione di 3 variabili di tipo lista (cioè cella *)
    	lista p = NULL, q,r;
      
    	//questo ciclo scorre la lista fino alla fine e salva in p la fine lista
    	for(q=inizio; q != NULL; q = q->succ)
    		p = q;
       
    	//r tiene in memoria l'indirizzo tornato dal operatore new
    	r = new cella;
    
    	//assegnazione del intero e al campo valore della cella r
    	r -> valore = e;
    
    	//assegnazione del valore NULL all'elemento che succede r
    	r -> succ = NULL;
     
    	//se la lista è vuota
    	if(inizio == NULL)
    		//assegna al puntatore inizio l'indirizzo dove risiede r
    		inizio = r; 
    	//altrimenti
    	else
    		//il successore di p che non esiteva 
    		//(perche p è stato fatto scorrere fino alla fine)
    		//adesso diventa r
    		p->succ = r;
    }
    
Devi accedere o registrarti per scrivere nel forum
1 risposte