|
Sponsored link
phi-lab software
|
Wektory. #include <vector>
0. Wstep.
Jednym z najczesciej uzywanych elemntow biblioteki STL sa wektory (klasa vector).
Ciekawa i wazna (ze wzgledu na szybkosc) wlasciwoscia wektorow jest to, ze wszystkie jego
elementy zajmuja ciagly obszar pamieci (tzn. wszystkie elementy sa ulokowane w pamieci obok siebie).
Czyli dla kazdego n takiego ze, 0 <= n <= v.size() zachodzi &v[n] = &v[0] + n.
Wlasciwosc ta jest wsrod konterow STL unikalna i na przyklad nie dotyczy ona list.
Waznym jest fakt, ze dostep do dowolnego elementu wektora jest najszybszym z mozliwych, O(1).
Dostep do elementu uzyskujemy przez podanie jego pozycji (indeksu) w kontenerze (tak jak w zwyklych tablicach).
Klasa wektor wspiera iteratory random-access.
Oznacza to, ze przy pracy z wektorami moga byc wykorzystywane wszystkie algorytmy zaimplementowane w bibliotece STL.
Wektory spelniaja warunki ogolne dotyczace kontenerow, warunki wymagane dla konterow wstecznych (posiada reverse iterator),
oraz warunki kontenerow sekwencyjnych wraz z warunkami opcjonalnymi.
1. Najczesciej wykonywane operacje.
![]() |
Pokazane na rysunku operacje nie sa wszystkimi operacjami jakie mozna
wykonywac na wektorze. Sa to operacje najczesciej uzywane.
Wiecej na temat tych i innych operacji, ktore mozna wykonywac na wektorze znajdziesz w dalszej czesci opisu. |
2. Konstrukcja obiektu.
Poniewaz wektor jest kontenerem, mozemy go deklarowac dla (prawie) dowolnego typu.... vector<int> vector_of_int; vector<string> vector_of_strings; vector<double> vector_of_dbl; vector<MyClass> vector_of_myclass; ...Musimy teraz sobie wyjasnic sobie zwrot "prawie dowolnego typu".
| Contact: piotr@beesoft.org |
(C) 2006-2008 beesoft.org Last modification date: 2008-06-29 |
Visitis counter: |