comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Lista Simplemente Enlazada

  • 0 Respuestas
  • 1493 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado [Z]tuX

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Mayo 05, 2013, 09:15:02 pm »
Hola, últimamente he estado trabajando mucho con listas dinámicas, así que hoy traigo un ejemplo de una lista Simplemente Enlazada en lenguaje C, el cual requiere de uso de apuntadores, no es nada del otro mundo si se tiene claro el concepto, por lo que si no conoces las Listas Simplemente Enlazadas, te recomiendo que leas este artículo de Wikipedia. No tienes permisos para ver links. Registrate o Entra con tu cuenta)

Código: C
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* Ejemplo de Lista Simplemente Enlazada
  5.  * [Z]tuX
  6.  * http://ztux.blogspot.com/
  7.  */
  8.  
  9. typedef struct Node{
  10.     struct Node *next;
  11.     int data;
  12. }node;
  13.  
  14. node *newList(node *list);
  15. node *insertInList(int data,node *list);
  16. void showList(node *list);
  17. int isEmpty(node *list);
  18.  
  19.  
  20. int main(){
  21.     node *LISTA = newList(LISTA);
  22.     LISTA=insertInList(5,LISTA);
  23.     LISTA=insertInList(6,LISTA);
  24.     LISTA=insertInList(90,LISTA);
  25.     LISTA=insertInList(0,LISTA);
  26.     LISTA=insertInList(915,LISTA);
  27.     showList(LISTA);
  28.     return 0;
  29. }
  30.  
  31. node *newList(node *list){
  32.     return(list=NULL);
  33. }
  34.  
  35. int isEmpty(node *list){
  36.     return (list==NULL);
  37. }
  38.  
  39. node * insertInList(int data,node *list){
  40.     node * new_Node;
  41.     new_Node = (node*)No tienes permisos para ver links. Registrate o Entra con tu cuenta(sizeof(node));
  42.     node * aux;
  43.     //First, check if the new node is not NULL
  44.     if(new_Node!=NULL){
  45.         new_Node->data=data;
  46.         new_Node->next=NULL;
  47.         if(isEmpty(list)){
  48.             //If the list is empty...
  49.             list=new_Node;
  50.         }else{
  51.             //If not is empty...
  52.             aux = list;
  53.             while(aux->next!=NULL){
  54.                 aux=aux->next;
  55.             }
  56.             aux->next=new_Node;
  57.         }
  58.     }else{
  59.         No tienes permisos para ver links. Registrate o Entra con tu cuenta("[!]There isn't space in memory...");
  60.     }
  61.     return list;
  62. }
  63.  
  64. void showList(node *list){
  65.     node *aux;
  66.     for(aux=list;aux!=NULL;aux=aux->next){
  67.         No tienes permisos para ver links. Registrate o Entra con tu cuenta("Data: %d\n",aux->data);
  68.     }
  69. }
  70.  

Salud[OS]

 

¿Te gustó el post? COMPARTILO!