Utilizzando la lista, puoi benissimo creare sia una coda che una pila.Originariamente inviato da Alex'87
come implementare pile e code in c++?
sono riuscito ad implementare solo delle semplici liste,,,...
Per fare la coda utilizzi due puntatori, uno che punta in testa, l'altro che punta in coda (quindi appena inserisci un elemento, tutti e due punteranno a questo).
Appena inserisci di nuovo, incrementi il puntatore di coda, e poi ancora e poi ancora.
Appena devi estrarre l'elemento dalla coda, visualizzi quello che è puntato dal puntatore di coda, e fai puntare la coda al sucessivo.
Infatti, nella coda il primo elemento che entra è il primo che esce.
La pila invece è molto più semplice, perchè ti basta un puntatore che punta alla testa.
Ogni volta che pushi un elemento, cambi il puntatore di testa, ogni volta che poppi un elemento, fai puntare il puntatore al elemento sotto.
Ovviamente l'elemento sarà del tipo:
Ciao!codice:struct elemento { int informazione; struct elemento *punt; }

Rispondi quotando