De franhpWiki
Pila
estructura pila{
enter cim;
enter valors[100];
}P;
Buidar
buidar(&P)
acció buidar(estructura pila *P)
var enter i; fvar
per(i<-0;i<-P->cim;i++){
P->valors[i]<-NUL;
}
P->cim<-0;
facció
Empilar, Posar un valor a la pila
empilar(valor, &P);
acció empilar(enter valor, estructura pila *P)
P->valors[P->cim]<-valor;
P->cim++;
facció
DesEmpilar , treure un valor de la pila
escriure(desempilar(&P));
enter desempilar (estructura pila *P)
var enter num; fvar
num<-P->valors[P->cim-1];
P->valors[P->cim-1]<-NUL;
P->cim--;
retorna num
facció
o
si(P->cim=0) aleshores
escriure("pila buida");
retorna NUL;
sino
valor<-(p->valor[p->cim-1]);
(p->valor[p->cim-1])<-NUL
p->cim--;
Cim , torna el valor del element del cim
escriure(cim(&P));
enter cim (estructura pila *P)
return(P->valors[P->cim-1]);
ffunció
Buida? , indica si la pila = buida
escriure(buida(&P));
bool buida (estructura pila *P)
var enter i; fvar
si(P->cim = 0) retorna FALSE;
per(i<-0;i<-P->cim;i++)
si(P->valors[i]!=NUL)
retorna FALSE;
fsi
fper
retorna TRUE;
ffunció
Ple?, indica si la pila = plena
escriure(ple(&P));
bool ple(estructura pila *P)
var enter i;fvar
per(i<-0;i<-P->cim;i++)
si(P->valors[i]==NUL)
retorn FALSE;
fsi
fper
retorna TRUE;
ffunció