Pila de enteros. Iniciamos la estructura de datos

Pila de enteros. Iniciamos la estructura de datos

Comenzamos la estructura de datos Pila de enteros con las funciones constructor, destructor y funciones auxiliares. Éste ejemplo es una de las estructura de datos más sencillas que vamos a ver a lo largo de éste curso.

La función constructor no pasa ningún parámetro y como postcondición, devuelve un puntero a null.

En el procedimiento destructor se liberará la memoria ocupada por la estructura de datos. Se le pasa como argumento por referencia un puntero a la pila liberando la memoria ocupada y asignando al puntero el valor null.

includes necesarias para el TAD Pila de enteros

Para comenzar la estructura de datos, necesitaremos las siguientes librerias, incluyendo el .h que desarrollamos en el artículo anterior.

#include <stdlib.h>
#include <stdio.h>
#include "pila_enteros.h"

Estructura nodo de elementos

Cada datp estará incluido en un nodo con dos elementos, el dato, que en este caso será un número entero y un puntero al siguiente nodo. Al final de la Pila, este puntero apuntará a NULL.

struct p_enteros_ele {
	struct pila_int_typo val;
	struct p_entero_ele *sig;
};

código en lenguaje C de las funciones

La primera función es el constructor de la estructura de datos Pila de Enteros:

pila_int pila_int_nuevo ( ) {

	return NULL;

}

En la función destructor, se libera la memoria ocupada por la estructura de datos Pila de entero:

void pila_int_destruir ( pila_int *p ) {

	pila_int viejo;
	
	while ( *p ) {
	
		viejo=*p;
		*p=viejo->sig;
		free ( viejo );
	
	}

}

Una función auxiliar que necesitaremos en éste TAD que verifique si la lista está vacía o no. Veamos el código fuente:

int pila_int_vacia ( pila_int p ) {

	return (p==NULL);

}

Como siempre digo, esto es una propuesta particular. Si teneis otra forma de programarlo, os dejo la sección de comentarios abierta para que dejéis vuestras aportaciones.

No Comments

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.