Dar merge cu deque sau cu queue, lejer la orice problema si frumos. Daca vrei viteza iti recomand deque, merge mai repede (la deque ai de grija cand faci pop trebuie pop_front). Daca vrei clasic, faci o coada tip vector, cu st si dr capete, si cand vrei sa bagi in coada faci Q[++dr] = element, si ca sa faci pop-ul trebuie doar sa faci foru' principal.
for (; st <= dr; ++st) {
for (dir = 0; dir < NR_DIR; ++dir) {
..........
if (bun) Q[++dr] = element;
}
}