Edito: Para ver si la pila o cola estan llenas, por ejemplo no pueden tener mas de 10 elementos, puedes poner un campo en la struct pila o cola que se valla modificando, por ejemplo un campo que se llame espacios_vacios = 10, cada ves que encolas o apilas un nodo le quitas 1, es decir, apilas cualquier numero y espacios_vacios lo cambias a 9, etc... para ver si esta llena preguntas si es igual a 0 y si es 0 pues pones un mensaje que no se pueden apilar mas nodos, etc...
Por otro lado:
Código C++:
Ver originalVoid pilavacia(t_pila *&pila,t_dato &dato)
if (!pila) { //pregunto si no hay pila.
return true;
} else {
return pila->cabeza == NULL; //sino pregunto si es NULL.
}
}
Encuentro que queda mejor:
Código C++:
Ver originalvoid pilavacia(t_pila *pila,)
if (pila)
return false;
else
return true;
}
Ya que si el puntero apunta a NULL devolvera true y si no apunta a NULL quiere decir que apunta a una direccion de memoria 'x' que hace automaticamente que no este vacia.