El primer nodo de la pila se conoce como Top y como he comentado antes, los componentes de esta se llaman nodos. A continuación os dejo los códigos básicos para el trato de pilas en C.
/*
* Programa: pilas.c
* Autor: Javier Angosto
* Descr.: Funciones básicas del tratamiento de pilas
*/
/** Definición de la estructura NodoPila **/
struct _NodoPila {
int info; //Puede ser otro tipo de dato (String, float, long...)
struct _NodoPila *sig; //Contiene la dirección de memoria del siguiente nodo
};
typedef struct _NodoPila * PilaDatos;
/** Devuelve 0 si está llena, y diferente de 0 si está vacia **/
int PilaVacia (PilaDatos p) {
return (p==NULL);
}
/** Devuelve el top de la pila **/
//R. Entrada: La Pila no puede entrar vacia
int Cima (PilaDatos p){
return (p->info);
}
/** Devuelve una nueva pila con un elemento desapilado **/
void Desapilar (PilaDatos *p) {
PilaDatos aux;
if (! PilaVacia(*p)) {
aux = *p;
*p = (*p)->sig;
}
}
/** Devuelve una nueva pila con un nuevo elemento **/
void Apilar (PilaDatos *p, int Elem){
PilaDatos Nodo;
Nodo=(PilaDatos)malloc(1*sizeof(PilaDatos));
Nodo->info=Elem;
Nodo->sig=*p;
*p=Nodo;
}








0 comentarios:
Publicar un comentario