P3-Ej 1 Procedimiento snoc

P3-Ej 1 Procedimiento snoc

de Mario Andres Ibañez Grajales -
Número de respuestas: 0

Estimados


/estaba probando el procedimiento snoc de las soluciones y como sospeche no me funciona. Cuando le daba imprimir solo imprimia los dos ultimos elementos e imagino que es porque se esta trabajando directamente sobre la lista mandada por referencia en la solucion.

struct nodoLista {
  int  elem;
  nodoLista * sig;
};
typedef struct nodoLista *Lent;


---------lo que copie de las soluciones----------
void snoc(int n,Lent &l){
  Lent nuevo= new nodoLista;
  nuevo->elem=  n;
  nuevo->sig=NULL;
  if (l==NULL){
    l=nuevo;
  } else{
  while (l->sig!=NULL){
      l=l->sig;
          } 
      l->sig=nuevo;
         
      }
}

-----------el ajuste que le tube que hacer-------
void snoc(int n,Lent &l){
  Lent copia= l;
  Lent nuevo= new nodoLista;
  nuevo->elem=  n;
  nuevo->sig=NULL;
  if (l==NULL){
    l=nuevo;
  } else{
  while (copia->sig!=NULL){
      copia=copia->sig;
          } 
      copia->sig=nuevo;
         
      }
}

a mi me anda correcto, pero como sospecho que se me puede estar pasando algo queria confirmar.