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