SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: alama en Miércoles 28 de Mayo de 2003, 17:25

Título: Re: hola alguien...
Publicado por: alama en Miércoles 28 de Mayo de 2003, 17:25
Hola alguien sabe algo sobre "listas simples"?:ayuda::ayuda:
Título: Re: hola alguien...
Publicado por: Asmodeo en Jueves 29 de Mayo de 2003, 11:01
Que quieres saber exactamente de las listas simples? :angel:
Título: Re: hola alguien...
Publicado por: alama en Viernes 30 de Mayo de 2003, 21:33
Pues la verda esq todo!!No se como empezar!!algun ejemplo  o ayuda d como hacer la inserccion d la lista,algo q m ayude a empezar!:gracias:
Título: Re: hola alguien...
Publicado por: JuanK en Sábado 31 de Mayo de 2003, 00:32
Asumo que ya sabes que snon las listas cierto?

 
Código: Text
  1.  
  2. //Primero se define una estructura
  3. #include<stdio.h>
  4. struct lsimple
  5. {
  6.   char info;
  7.   struct lsimple* next;
  8. };
  9.  
  10. //inicia el programa
  11. int main()
  12. {
  13.   int i;
  14. //se crea una variable del tipo definido
  15.   struct lsimple* mylist, *aux, *prim;
  16. //se crea el primer nodo
  17. /*para lo cual se separa memoria con malloc y se hace un cast para que sea un
  18. apuntador a un espacio de memoria del tamaño de la estructura*/
  19.   mylist=(struct lsimple *)malloc(sizeof(struct lsimple));
  20.   /*se inicializa el nodo*/
  21.   mylist->info='';//null
  22.   mylist->next=NULL;
  23. //en este tipo de lista siempre es util
  24. //guardar la ubicacion del primer nodo
  25.   prim=mylist;
  26. /*ahora creare 5 nodos, para que te
  27.   sirva de ejemplo*/
  28.   while(i<5)
  29.   {
  30.      aux=mylist;
  31.      mylist=(struct lsimple *)malloc(sizeof(struct lsimple));
  32.      aux->next=mylist;
  33.      mylist->info='0';
  34.      mylist->next=NULL;
  35.      i++;
  36.   }
  37.   return 1;
  38. }
  39.  
  40.  
  41.  
aclaraciones de utilidad:
llevar el apuntador al primer nodo:
 
Código: Text
  1.  
  2. mylist = prim;
  3.  
  4.  
llevar el a`puntador al ultimo nodo:
 
Código: Text
  1.  
  2. /*..
  3. mylist=ultimoN(mylist);
  4. ...*/
  5. struct lsimple *ultimoN(struct lsimple *p)
  6. {
  7.     while(p->next!=NULL)
  8.     {
  9.        p=p->next;
  10.     }
  11.     return p;
  12. }
  13.  
  14.  

con esto creo que es suficiente para que te defiendas solita, advierto que el codigo lo escribi directamente en el foro, y puede traer errorcitos de compilacion, pero los algoritmos si estan sin errores.

suerte

Juank
Título: hola alguien...
Publicado por: alama en Sábado 31 de Mayo de 2003, 14:01
Pues muchisiiiiimas gracias!!!!Seguro q m ayuda un montón.:kiss: