Advertisement
gonzalob

Untitled

Dec 20th, 2021
1,007
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct nodo
  5. {
  6.     //informacion
  7.     int numero;
  8.     //la dirección de memoria del siguiente nodo
  9.     struct nodo * siguiente;
  10. }nodo;
  11.  
  12. nodo * inicializarLista();
  13. nodo * crearNodo(int dato);
  14. nodo * agregarPpio(nodo * lista, nodo * nuevoNodo);
  15.  
  16. int main()
  17. {
  18.     printf("Hello world!\n");
  19.     //primer y unico NODO
  20.     nodo * lista = inicializarLista();
  21.  
  22.     nodo * unNodo = crearNodo(10);
  23.  
  24.     lista = agregarPpio(lista,unNodo);
  25.     //primero el 10
  26.  
  27.     nodo * otroNodo = crearNodo(20);
  28.     lista = agregarPpio(lista,otroNodo);
  29.     //primero el 20
  30.  
  31.     return 0;
  32. }
  33.  
  34. //es para limpiar el espacio de memoria
  35. //se debe hacer antes de usar una lista y una sola vez
  36. //se debe hacer por cada lista
  37. nodo * inicializarLista()
  38. {
  39.     return NULL;
  40. }
  41. //generacion del espacio de memoria de UN nodo
  42. //recibe como param la parte de informacion
  43. //devuelve DONDE esta alojado el nodo
  44. nodo * crearNodo(int dato)
  45. {
  46.     //reservo en memoria un espacio del tamaño de un nodo y me devuelve donde esta alojado
  47.     nodo * nuevoNodo = (nodo*)malloc(sizeof(nodo));
  48.     nuevoNodo->numero = dato;
  49.     //le asigno null porque no tiene AUN vecino
  50.     //no se si va ir al ppio, en el medio o al final de una lista
  51.     nuevoNodo->siguiente = NULL;
  52.     return nuevoNodo;
  53. }
  54.  
  55. nodo * agregarPpio(nodo * lista, nodo * nuevoNodo)
  56. {
  57.     //si la lista esta vacia...
  58.     if (lista == NULL)
  59.     {
  60.         //reemplazo la lista (vacia) por el nuevo nodo
  61.         lista = nuevoNodo;
  62.     }
  63.     else
  64.     {
  65.         //primero engancho
  66.         //20 (nn) el sig. apunta a 10 (lista)
  67.         nuevoNodo->siguiente = lista;
  68.         //reemplazo lista (10) con el nuevo nodo (20)
  69.         //el nuevo primero va a ser el 20 xq agrego al principio
  70.         lista = nuevoNodo;
  71.  
  72.     }
  73.  
  74.     return lista;
  75. }
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement