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
  • 1441 Vistas

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

Desconectado [Z]tuX

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 0
  • ZtuX W4s H3r3 !!
    • Ver Perfil
    • ztux.net
« 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. You are not allowed to view links. Register or Login)

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*)You are not allowed to view links. Register or Login(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.         You are not allowed to view links. Register or Login("[!]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.         You are not allowed to view links. Register or Login("Data: %d\n",aux->data);
  68.     }
  69. }
  70.  

Salud[OS]

 

¿Te gustó el post? COMPARTILO!