Mam taki problem, mam taki kawałek kodu i chcę przglądać listę od końca, ale przy powrocie z referencji wywala mi błąd. Nie wiem czy nie można dekrementować iteratora do listy czy coś innego. Próbowałem też z vectorem, ale to samo. Lista przeglądana od przodu działa bez zarzutu.
void dfs1(int v)
{
odwiedzone[v]=1;
for (list<int>::iterator z=nas[v].end(); z!=nas[v].begin(); z--)
{
z--;
if (odwiedzone[*z]==0)
{
dfs1(*z);
}
}
post_order[po]=v;
po++;
}