Małgorzata Piekarska
Wykorzystanie vectora w programach przychodzi do głowy najczęściej. Szablon klasy vector jest tablicą o zmiennym rozmiarze. To po prostu dynamicznie alokowana tablica opakowana w odpowiednią klasę zwiększającą wygodę użytkowania. Aby skorzystać z tej klasy, musimy wpierw dołączyć odpowiedni plik nagłówkowy. Jest to zresztą charakterystyczne dla dowolnego pojemnika STL i całego języka C++. Wymagany nagłówek nazywa się vector:
#include <vector>
using namespace std;
vector może przechowywać elementy dowolnego, określonego przy deklaracji typu, oczywiście jeden wektor może przechowywać elementy tylko jednego typu.
vector<int> v;
Przykład zastosowania vectora
for(int i=0; i<5;i++)
v.push_back(i);
printf("rozmiar v : %d",v.size());
for(int i=0; i<5;i++) v.push_back(i);
printf("%d ",v[i]);
vector<int>::iterator it=v.begin();
while (it!=v.end())
{
printf("%d ",*it);
it++;
}
Poniżej lista najważniejszych metod / operatorów umożliwiających swobodne operacje na vectorach:
- vector<T> v; - deklaracja wektora o typie danych "T"
- empty() - zwraca True jeśli pusty
- size() - liczba elementów
- resize(n, t=T()) - dopasowuje odpowiednio usuwając lub dodając elementy w vectorze tak aby jego rozmiar wynosił "n"
- max_size() - ustala maksymalną możliwą ilość elementów w vectorze
- erase() lub clear()- usuwa wszystkie wartości
- = operator podstawienia jednego vectora do drugiego
- <, == operator porówania dwóch vectorów
- front() lub v[0]- pierszy element
- back() - ostatni element
- push_back(const T& value) - dodaje element na końcu
- pop_back() - usuwa ostatni element
- assign(size_type n,const T& t) - przydziela "n" pierwszych elementów wartość "t"
- insert(iterator, const T& t) - wstawia przy elemencie "iterator" wartość "t"
- swap(vector& v2) - zamienia zawartość dwóch vectorów
- begin() - zwraca iterator pierwszego elementu z vectora
- end() - wskaźnik na koniec vectora.