Care este cea mai eficienta metoda de stergere a unei valori dintr-un vector ?
Exemplu: Pentru vectorul cu valori v[5] = {1,2,3,4,5}, sa se stearga valoarea lui v[3], aceasta fiind in schimb inlocuita de cea a lui v[4] (analog pentru v[4] si v[5] daca vectorul ar fi fost mai mare)
Daca doresti sa ai elementele in vector inca in ordine si doar sa elimini din vector toate valorile x ,intr-o
singura parcurgere a vectorului,atunci faci urmatorul algoritm:
1.ai initial k=0
2.parcurgi vectorul
3.daca v[ i ]==x atunci k++
4.daca v[ i ]!=x atunci v[ i - k ]=v[ i ]
5.la final dupa parcurgere,inainte de a face afisarea sau altceva,faci n=n-k
adica in cod ar fi asa:
k=0;
for(i=1;i<=n;i++)
{
if(v[i]==x)
k++;
else
v[i-k]=v[i];
}
n=n-k;