Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2010, 12:41
azuel
 
Fecha de Ingreso: febrero-2009
Mensajes: 147
Antigüedad: 15 años, 2 meses
Puntos: 1
Pregunta Insertar Dato en un lista por el final

Hola a todos , espero que alguien me pueda ayudar y hacerme ver la luz.
Estoy empezando a ver listas simples enlazadas en C, tengo el siguiente codigo
Código C:
Ver original
  1. struct nodo
  2. {
  3.     int numero;
  4.    struct nodo*sig;
  5. };
  6. struct nodo *CrearLista()
  7. {
  8.     struct nodo *p;
  9.     p = (struct nodo*) malloc(sizeof(struct nodo));
  10.    return p;
  11. }
  12. void InsertarFinal(struct nodo **lista)
  13. {
  14.     struct nodo *aux,*aux2;
  15.    int n,i=0;
  16.    aux=CrearLista();
  17.    aux2=*lista;
  18.    printf("Introduce un numero\n");
  19.    scanf("%d",&n);
  20.  
  21.     if(aux!=NULL)
  22.     {
  23.     if(aux2==NULL)
  24.     {
  25.         aux -> numero=n;
  26.         aux ->sig=*lista;
  27.         *lista=aux;
  28.     }
  29.     else
  30.     {
  31.             aux -> numero=n;
  32.                 while(aux2->sig!=NULL)
  33.             {
  34.                     aux2=aux2->sig;
  35.                     aux2->sig=aux;
  36.                     aux->sig=NULL;
  37.  
  38.             }
  39.             aux2=aux;
  40.  
  41.  
  42.  
  43.     }
  44.    }
  45.    else
  46.    {
  47.     printf("Espacio Insuficiente\n");
  48.    }
  49. }

Me podeis decir que ago mal o como puedo inserta datos por el final de una lista, si me podeis poner un ejemple se lo agradeceria enormemente.
Un cordial saludo a todos espero su respuesta