Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct
- {
- //informacion
- int dato;
- // el siguiente nodo
- struct nodo * siguiente;
- }nodo;
- typedef struct
- {
- //informacion
- int legajo;
- char nombre[10];
- }paciente;
- nodo * inicLista();
- nodo * crearNodo(int dato);
- void mostrarLista(nodo * lista);
- nodo * agregarPpio(nodo * lista, nodo * nuevoNodo);
- int main()
- {
- /*
- int miNumero;
- int otroNumero;
- lista miLista;
- lista otraLista;
- paciente gonzalo;
- paciente camila;
- gonzalo.legajo = 10;
- camila.legajo = 20;
- */
- //primer nodo
- nodo * lista;
- lista = inicLista();
- //LAST IN - FIRT OUT
- //ultimo en entrar, primero en salir
- //LIFO - PILA
- nodo * unNodo = crearNodo(10);
- nodo * otroNodo = crearNodo(20);
- nodo * otroOtroNodo = crearNodo(30); //es el ultimo en agregar pero en realidad es el primero de la lista
- lista = agregarPpio(lista,unNodo); //apilar
- lista = agregarPpio(lista,otroNodo);
- lista = agregarPpio(lista,otroOtroNodo);
- mostrarLista(lista);
- return 0;
- }
- nodo * inicLista()
- {
- return NULL;
- }
- nodo * crearNodo(int dato)
- {
- nodo * nuevoNodo;
- //creo el espacio de memoria de un nodo
- nuevoNodo = (nodo *) malloc(sizeof(nodo));
- //asigno la variable "dato" al atributo del nodo llamado "nodo"
- nuevoNodo->dato = dato;
- //como no sabemos donde o en que lugar estar el nodo, decimos que el siguiente es NULL o sea NADIE
- nuevoNodo->siguiente = NULL;
- return nuevoNodo;
- }
- nodo * agregarPpio(nodo * lista, nodo * nuevoNodo)
- {
- if (lista == NULL) //lista vacia
- {
- lista = nuevoNodo; //el primer nodo es el que estoy agregando
- }
- else
- {
- //enlazamos el nuevo nodo con el primero, lo cual hace que la lista sea enlanzada
- nuevoNodo->siguiente = lista;
- //transformamos el nuevo nodo en el nuevo primero
- lista = nuevoNodo;
- }
- return lista;
- }
- void mostrarLista(nodo * lista)
- {
- while (lista!=NULL)
- {
- printf("Num: %d\n",lista->dato);
- lista = lista->siguiente;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement