C++/Vector: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Lethern (dyskusja | edycje)
Linia 57:
! złożoność czasowa
|----
| void '''swap'''(vector<T>& vec)
| zamienia zawartości dwóch wektorów miejscami
| stała
|----
| void '''push_back'''(const T obj)
| dodaje na końcu wektora kopię przekazanego argumentu
| stała, czasem liniowa*
|----
| void '''pop_back'''()
| usuwa ostatni element z wektora
| stała
|----
| void '''clear'''()
| usuwa wszystkie elementy z wektora
| liniowa (destruktory)
|----
| void '''assign'''(size_t n, const T obj)
| czyści wektor i wypełnia go ''n'' kopiami argumentu ''obj''
| liniowa (jak ''clear'') + liniowa względem wstawianych elementów
|----
| void '''assign'''(iterator poczatek, iterator koniec)
| czyści wektor i wypełnia go elementami z innego wektora z przedziału <poczatek;koniec>
| jw.
|----
| iterator '''insert'''(iterator pos, T obj)
| wstawia element obj '''przed''' wskazywaną przez iterator ''pos'' pozycją i zwraca iterator do dostawionego elementu
| liniowa (przenoszenie elementów między ''pos'' a ostatnim elementem tablicy)
|----
| void '''insert'''(iterator pos, size_t n, const T obj)
| wstawia ''n'' kopii argumentu obj '''przed''' pozycją wskazywaną przez iterator ''pos''
| jw. + liniowa względem ilości dodanych elementów
|----
| void '''insert'''(iterator pos, iterator poczatek, iterator koniec)
| wstawia '''przed''' pozycją wskazywaną przez iterator pos elementy między iteratorami początek i koniec (włącznie)
| jw.**
|----
| iterator '''erase'''(iterator pos)
| usuwa element wskazywany przez pos i zwraca iterator do następnego elementu
| liniowa względem ilości elementów za usuwanym elementem
|----
| iterator '''erase'''(iterator poczatek, iterator koniec)
| usuwa elementy z przedziału <poczatek;koniec> i zwraca iterator do elementu za nimi
| liniowa względem ilości usuwanych elementów + przenoszenie elementów za ''końcem''