Advertisement
gonzalob

Untitled

Aug 26th, 2021
947
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. typedef struct
  6. {
  7.     int dato;
  8.     struct nodo * siguiente;
  9.  
  10. }nodo;
  11.  
  12. nodo * inicLista();
  13. nodo * crearNodo(int dato);
  14. nodo * cargarNodoUsuario();
  15. nodo * cargarNodoRandom();
  16. nodo * agregarAlPrincipio(nodo * lista);
  17. nodo * agregarAlPrincipio(nodo * lista, nodo * nuevoNodo);
  18.  
  19. int main()
  20. {
  21.  
  22.     nodo * lista ; //primer nodo de mi lista
  23.     lista = inicLista();
  24.     nodo * nuevoNodo = cargarNodoUsuario();
  25.     lista = agregarAlPrincipio(lista,nuevoNodo);
  26.     nodo * otroNodo = cargarNodoUsuario();
  27.     lista = agregarAlPrincipio(lista,otroNodo);
  28.     return 0;
  29. }
  30.  
  31. nodo * inicLista()
  32. {
  33.     return NULL;
  34. }
  35.  
  36. nodo * crearNodo(int dato)
  37. {
  38.     nodo * nuevoNodo;
  39.     nuevoNodo = (nodo *)malloc(sizeof(nodo));
  40.     //(*nuevoNodo).dato = dato; //OK
  41.     nuevoNodo->dato = dato; //TMB OK
  42.     //nuevoNodo.dato = dato; nuevoNodo NO es un NODO es un PUNTERO a un NODO
  43.     nuevoNodo->siguiente = NULL;
  44.     return nuevoNodo;
  45. }
  46.  
  47. nodo * cargarNodoUsuario()
  48. {
  49.     int dato = 0;
  50.     printf("ingrese dato\n");
  51.     fflush(stdin);
  52.     scanf("%d",&dato);
  53.     nodo * nuevoNodo = crearNodo(dato);
  54.     return nuevoNodo;
  55. }
  56.  
  57. nodo * cargarNodoRandom()
  58. {
  59.     srand (time(NULL));
  60.     int dato = 0;
  61.     dato=rand()%10;
  62.     nodo * nuevoNodo = crearNodo(dato);
  63.     return nuevoNodo;
  64. }
  65.  
  66. nodo * agregarAlPrincipio(nodo * lista, nodo * nuevoNodo)
  67. {
  68.     if (lista == NULL)
  69.     {
  70.         lista = nuevonodo;    
  71.     }
  72.     else
  73.     {
  74.         nuevoNodo->siguiente = lista;
  75.         lista = nuevoNodo;
  76.     }
  77.    
  78.  
  79.     return lista;
  80. }
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement