#include <stdio.h>
#include <stdlib.h>
/*declaracion de una estructura de datos pila*/
struct tpila{
int clave;
struct tpila *sig;
};
/*crea la pila para que se le den valores*/
void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);void desapilar(struct tpila *pila, int *elem);
void crear(struct tpila **pila)
{ *pila = (struct tpila *) malloc(sizeof(struct tpila)); /*indica el tamaño de la pila */
(*pila)->sig = NULL;
}
/*da valores vacios a cada uno de los espacios en la pila
esto solo gasta memoria ram sin ningun dato */
int vacia(struct tpila *pila){
return (pila->sig == NULL);
}
void apilar(struct tpila *pila, int elem){
struct tpila *nuevo;
nuevo = (struct tpila *) malloc(sizeof(struct tpila));/*indica el tamaño de la fila*/
nuevo->clave = elem; nuevo->sig = pila->sig;
pila->sig = nuevo;
}
void desapilar(struct tpila *pila, int *elem){
struct tpila *aux;
aux = pila->sig;
*elem = aux->clave; pila->sig = aux->sig;
free(aux);
}
/*este es solo el codigo que checara la pila y nos dira que la pila
esta vacia*/
int main(void)
{
struct tpila *pila;
int elem;
crear(&pila);
if (vacia(pila)) printf("nPila vacia!");
apilar(pila, 1);
desapilar(pila, &elem);
return 0;
#include <stdlib.h>
/*declaracion de una estructura de datos pila*/
struct tpila{
int clave;
struct tpila *sig;
};
/*crea la pila para que se le den valores*/
void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);void desapilar(struct tpila *pila, int *elem);
void crear(struct tpila **pila)
{ *pila = (struct tpila *) malloc(sizeof(struct tpila)); /*indica el tamaño de la pila */
(*pila)->sig = NULL;
}
/*da valores vacios a cada uno de los espacios en la pila
esto solo gasta memoria ram sin ningun dato */
int vacia(struct tpila *pila){
return (pila->sig == NULL);
}
void apilar(struct tpila *pila, int elem){
struct tpila *nuevo;
nuevo = (struct tpila *) malloc(sizeof(struct tpila));/*indica el tamaño de la fila*/
nuevo->clave = elem; nuevo->sig = pila->sig;
pila->sig = nuevo;
}
void desapilar(struct tpila *pila, int *elem){
struct tpila *aux;
aux = pila->sig;
*elem = aux->clave; pila->sig = aux->sig;
free(aux);
}
/*este es solo el codigo que checara la pila y nos dira que la pila
esta vacia*/
int main(void)
{
struct tpila *pila;
int elem;
crear(&pila);
if (vacia(pila)) printf("nPila vacia!");
apilar(pila, 1);
desapilar(pila, &elem);
return 0;
No hay comentarios:
Publicar un comentario