Ciao ragazzi sto facendo un programma nel quale utilizzo una lista del tipo:
list [p1 -> p2 -> p3]
se elimino p1 e p2 è possibile conservare p3 nella stessa posizione prima della cancellazione, cioè, dopo aver eliminato p1 e p2 vorrei una cosa del genere:
0 1 2
[] [] [p3]
voglio che scorrendo la lista con un iteratore mi dia che p3 sia nella posizione 2 e che capisca che nelle posizioni list[0] e list[1] non ce nulla, si puo fare??
io ho fatto una cosa del genere ma dopo la cancellazione di p1 e p2, p3 si trova nella posizione list[0]
int ii=0;
for(list<string>::iterator it=catena.begin(); it!=catena.end(); it++,ii++)
{
if((*it)!= p.getNomePezzo())
catena.delete(*it);
}
int ll=0;
for(list<string>:: iterator it=catena.begin(); it!=catena.end(); it++,ll++)
{
cout<<"la posizione del pezzo dopo la cancellazione"<<" "<<ll<<endl;
}