Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct nodo
- {
- //informacion
- int numero;
- //la dirección de memoria del siguiente nodo
- struct nodo * siguiente;
- }nodo;
- nodo * inicializarLista();
- nodo * crearNodo(int dato);
- nodo * agregarPpio(nodo * lista, nodo * nuevoNodo);
- int main()
- {
- printf("Hello world!\n");
- //primer y unico NODO
- nodo * lista = inicializarLista();
- nodo * unNodo = crearNodo(10);
- lista = agregarPpio(lista,unNodo);
- //primero el 10
- nodo * otroNodo = crearNodo(20);
- lista = agregarPpio(lista,otroNodo);
- //primero el 20
- return 0;
- }
- //es para limpiar el espacio de memoria
- //se debe hacer antes de usar una lista y una sola vez
- //se debe hacer por cada lista
- nodo * inicializarLista()
- {
- return NULL;
- }
- //generacion del espacio de memoria de UN nodo
- //recibe como param la parte de informacion
- //devuelve DONDE esta alojado el nodo
- nodo * crearNodo(int dato)
- {
- //reservo en memoria un espacio del tamaño de un nodo y me devuelve donde esta alojado
- nodo * nuevoNodo = (nodo*)malloc(sizeof(nodo));
- nuevoNodo->numero = dato;
- //le asigno null porque no tiene AUN vecino
- //no se si va ir al ppio, en el medio o al final de una lista
- nuevoNodo->siguiente = NULL;
- return nuevoNodo;
- }
- nodo * agregarPpio(nodo * lista, nodo * nuevoNodo)
- {
- //si la lista esta vacia...
- if (lista == NULL)
- {
- //reemplazo la lista (vacia) por el nuevo nodo
- lista = nuevoNodo;
- }
- else
- {
- //primero engancho
- //20 (nn) el sig. apunta a 10 (lista)
- nuevoNodo->siguiente = lista;
- //reemplazo lista (10) con el nuevo nodo (20)
- //el nuevo primero va a ser el 20 xq agrego al principio
- lista = nuevoNodo;
- }
- return lista;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement