Scrivere un algoritmo iterativo che, ricevuti come parametri di ingresso una coda Q (contenente n elementi tutti diversi) e una pila S (contenente m elementi tutti diversi), elimini dalla coda tutti gli elementi che compaiono anche nello stack.
Avevo pensato di risolverlo
while(!stackEmpty(S)) {
x = dequeue(Q);
if (top[S] == x)
pop(S);
else if(x == head[Q]) //elimino la head[Q] momentanea se essa è uguale all'elemento che ho già eliminato
x = dequeue(Q);
else
enqueue(Q, x)
Può andare bene?
Grazie