Salve avrei un problema ovvero

codice:
list <int> a; // mia lista con 4 elementi inseriti "4 3 2 1"
list <int> ::iterator i_1; // iteratone che dovrebbe gestire la mia lista


for(int i=2;i>0;i--){
//???? qui dovrei gestire il mio iteratore e la lista in modo che "i_1" prenda a ogni passo il valore di "i"

//successivamente dovrei modificare il valore dell'elemento della lista con indice "i" in un altro valore ad esempio 3

}


in pratica il mio problema e come dare all' iteratore il valore che ha "i" ad ogni passo, e in oltre come faccio a sovrascrivere un valore ad esempio 3 all' elemento presente all' indice 1 della lista ?


thx 1000