3 desarollo manejo datos capitulo 3 -01 arreglo objetos
Pila vacia
1. Pila vacía<br />#include #include struct tpila{ //se inicia la declaracionint clave;struct tpila *sig;};void crear(struct tpila **pila); int vacia(struct tpila *pila); //se crea una variable de tipo enteravoid apilar(struct tpila *pila, int elem);void desapilar(struct tpila *pila, int *elem);void crear(struct tpila **pila)//valor devuelto por método void{ *pila = (struct tpila *) malloc(sizeof(struct tpila));//se solicita un espacio en memoria (*pila)->sig = NULL;//apuntador devuelto a valor vacio}int vacia(struct tpila *pila){ //se crea la variable vacia de tipo enterareturn (pila->sig == NULL);//regresa a los valores vacios }void apilar(struct tpila *pila, int elem){//devuelve los valores de la estructura pilastruct tpila *nuevo;nuevo = (struct tpila *) malloc(sizeof(struct tpila));//estructura de la pila apilada en un espacio d memoria nuevo->clave = elem; nuevo->sig = pila->sig;pila->sig = nuevo;//pila con apuntador a un nuevo valor}void desapilar(struct tpila *pila, int *elem){//regresa valores desapilados struct tpila *aux;aux = pila->sig;//valor de aux con un apuntador a sig*elem = aux->clave; pila->sig = aux->sig;free(aux);//libera espacio en la memoria}int main(void){struct tpila *pila;int elem; //valor de elem de tipo enterocrear(&pila);//ingresa la pila con los datos if (vacia(pila)) printf(quot;
nPila vacia!quot;
);//condicional coj respecto a una pila vaciaapilar(pila, 1); //forma el primer valor desapilar(pila, &elem); return 0;//regresa el valor a cero}<br />