Código C++:
Ver originalvoid vaciarPila(t_pila *&pila,t_dato &dato)
t_nodo* pEli; //creo un nodo auxiliar.
if (!pilaVacia(pila)){ //me fijo si esta vacia.
valor = pila->cabeza->valor; //al dato le asigno el valor del que desapilo.
pEli = pila->cabeza; //al *aux le asigno el que saco.
pila->cabeza = pila ->cabeza ->sig; //al que queda como tope le asigno el sig.
delete pEli; //elimino el *aux.
}else
cout << "La pila estaba vacia"; //si la pila está vacía.
bool colaVacia(t_cola *cola)
if (!cola) { //pregunto si no hay cola.
return true;
} else {
return ((cola->frente == NULL)&&(cola->fondo==NULL))//sino pregunto si es NULL.
}
}
void apilar(t_pila * &pila, const char valor)
t_nodo *pNuevo; //creo el nuevo nodo.
if (!pilaLlena(pila)){ //me fijo si está llena.
pNuevo = new t_nodo;
pNuevo ->valor = valor; //le asigno el dato al nuevo nodo.
pNuevo -> sig = pila -> cabeza; //apunto el nuevo al que estaba primero.
pila -> cabeza = pNuevo; //apunto el que estaba primero al nuevo
}else
cout << "No hay espacio para agregar un elemento a la pila"; //si está llena.
Void 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.
}
}
void vaciarCola(t_cola *&cola,t_dato &dato) <---- COMPLETAR
void encolar(t_cola *&cola, t_dato &dato) <---- COMPLETAR
en estos 2 anteriores la sistematica sería igual que pilas ?
bool pilaLlena(t_pila *pila) en este modulo no encuentro como fijar un el tope o que está llena. Alguna ayudita??