Ștergeri și inserări de elemente



Operațiile de ștergere a unui element dintr-un vector, sau de inserare a unui element nou într-un vector sunt frecvente în practică: avem o listă cu elevii dintr-o clasă și un elev pleacă, sau un alt elev vine. Cum actualizăm lista?


Ștergerea

Să considerăm următoarea problemă:


Se dă un șir X cu n elemente întregi și un număr p. Să se șteargă din șirul X elementul aflat pe poziția p.


Să considerăm următorul vector cu n=10 elemente și p=4.





Dorim să eliminăm din vector elementul de indice 4, cel cu valoarea X[4] = 34. În urma eliminării vectorul trebuie să arate astfel:





Cum procedăm?





Ștergerea se face astfel:

for(int i = p ; i < n - 1; i ++)
    X[i] = X[i+1];
n --;

Adăugarea unui element într-un vector

Adăugarea unui element într-un vector înseamnă mărirea dimensiunii logice n a vectorului și memorarea în ultimul element a noii valori. Următoarele secvențe adaugă o valoare într-un vector indexat de la 0.

X[n] = val;
n ++;

sau, mai condensat:


X[n++] = val;

Inserarea unui element într-un vector

Să considerăm următoarea problemă:


Se dă un șir X cu n elemente întregi, o valoare întreagă val și un număr p. Să se insereze pe poziția p în șir valoarea val.


Similar cu algoritmul de ștergere a unui element dintr-un vector, și cel de inserare presupune modificarea elementelor din dreapta lui X[p]. De data aceasta elementele vor fi mutate spre dreapta, începând cu ultimul. Elementul X[p] se înlocuiește cu noua valoare, iar dimensiunea logică a vectorului crește, fără a depăși însă dimensiunea fizică.





for(int i = n - 1 ; i >= p ; i --)
[i+1] = X[i];
X[p] = val;
n ++;

Accessibility Options

Color Contrast

Text Size

Text Spacing

Reading Aids