Demo tipo dinamico de datos

Anuncio
// DECLARACIONES MINIMAS PARA EL MANEJO DE LISTA ENLAZADA
//--------------------------------------------------------------------------------------#include<stdio.h>
// Declaro la estructura del nodo, con dos miembros: dato y siguiente
//----------------------------------------------------------------------------------------struct nodo
{ int dato;
struct nodo* siguiente;
};
//-----------------------------------------------------------------------------------------// Defino un tipo de dato NODO:
//-----------------------------------------typedef struct nodo NODO;
//--------------------------------------main()
{
int valor;
// Defino la variable Principio como un puntero a una estructura de tipo NODO
//--------------------------------------------------------------------------------------------------------NODO* Principio;
// Principio siempre apuntará al primer nodo de la lista enlazada,
//
si la lista está vacía entonces inicializo Principio en NULL
//--------------------------------------------------------------------------------------Principio = NULL;
if (Principio == NULL) printf ("Lista vacia\n");
// Defino un puntero a un NODO, nuevo
//---------------------------------------------------NODO* nuevo;
// Crear un nodo apuntado por nuevo y reservar dinámicamente espacio:
//-----------------------------------------------------------------------------------------------nuevo = (NODO*) malloc(sizeof(NODO));
// Asigno valores a los miembros del nodo apuntado por nuevo:
//-----------------------------------------------------------------------------------printf ("Ingrese un valor para asignar al dato del nodo nuevo:");
scanf("%i", &valor);
nuevo->dato=valor;
nuevo->siguiente=NULL;
printf("Se creo el nodo nuevo:\n");
printf("El miembro dato contiene: %i\n", nuevo->dato);
if (nuevo->siguiente == NULL) printf("El miembro siguiente contiente NULL\n");
// Hacer que el Principio de la lista apunte a donde apunta el puntero nuevo
//----------------------------------------------------------------------------------------------------Principio = nuevo;
printf("El principio de la lista apuntará al nuevo nodo\n");
//Liberar espacio de memoria que usaba nuevo:
//-------------------------------------------------------------free(nuevo);
printf("libero memoria que usaba nuevo");
system("Pause");
}
Descargar