Język C++
vector
[szablon klasy] [Kontener] Struktura danych - tablica.Składnia
#include <vector>
namespace std
{
template <
class Type,
class Allocator = allocator < Type >
>
class vector;
}
Parametry szablonu
Opis szczegółowy
Szablon
vector jest to struktura danych reprezentująca tablicę. Tablica jest zbudowana z elementów o typie przekazanym poprzez parametr szablonu
Type. Niniejszy kontener umożliwia modyfikację rozmiaru tablicy w trakcie życia obiektu. Dane w tablicy są ułożone w pamięci
zawsze w sposób ciągły co oznacza, że kopiowanie danych do kontenera i z kontenera za pomocą funkcji takich jak np.
memcpy jest
zawsze bezpieczne.
Niniejszy kontener należy używać zawsze wtedy, gdy priorytetem jest posiadanie szybkiego dostępu do dowolnego elementu kontenera.
Szablon
vector umożliwia dodawanie oraz usuwanie elementów na koniec tablicy w czasie stałym - O(1). Dodawanie oraz usuwanie elementów z początku bądź ze środka kontenera możliwe jest w czasie liniowym - O(n), gdzie n to liczba elementów w kontenerze.
Kontener
vector dokonuje realokacji pamięci gdy jakakolwiek metoda szablonu musi zwiększyć rozmiar tablicy kontenera i jednocześnie w kontenerze nie ma wolnego obszaru pamięci na nowo dodawane elementy.
Przykład
#include <cstdio>
#include <vector>
int main()
{
std::vector < int > dane;
dane.push_back( 5 );
dane.push_back( 2 );
dane.push_back( 3 );
dane.push_back( 1 );
for( size_t i = 0; i < dane.size(); i++ )
printf( "%d, ", dane[ i ] );
printf( "\n\nKoniec\n" );
return 0;
}
Standardowe wyjście programu:
5, 2, 3, 1,
Koniec
Linki zewnętrzne
Wykaz elementów dowiązanych
assign |
Usuwa wszystkie istniejące elementy z kontenera, a następnie kopiuje wskazane elementy do kontenera. (metoda) |
at |
Zwraca referencję na element, który znajduje się na podanej pozycji w kontenerze vector. (metoda) |
back |
Zwraca referencję na ostatni element w kontenerze. (metoda) |
begin |
Zwraca iterator wskazujący na pierwszy element. (metoda) |
capacity |
Zwraca maksymalną liczbę elementów jaką może pomieścić kontener bez wykonywania realokacji pamięci. (metoda) |
clear |
Usuwa wszystkie elementy z kontenera vector. (metoda) |
empty |
Sprawdza czy kontener jest pusty. (metoda) |
end |
Zwraca iterator wskazujący na element będący za ostatnim elementem. (metoda) |
erase |
Usuwa jeden element lub wiele elementów z kontenera vector występujących na podanej pozycji lub w podanym zakresie. (metoda) |
front |
Zwraca referencję na pierwszy element w kontenerze. (metoda) |
get_allocator |
Zwraca kopię alokatora używanego do tworzenia elementów kontenera vector. (metoda) |
insert |
Wstawia jeden element lub wiele elementów do kontenera vector na określonej pozycji. (metoda) |
max_size |
Maksymalna możliwa długość tablicy kontenera vector, wyrażona w liczbie elementów. (metoda) |
operator[] |
Zwraca referencję na element, który znajduje się na podanej pozycji w kontenerze vector. (operator - metoda) |
pop_back |
Usuwa jeden element z kontenera vector, znajdujący się na jego końcu. (metoda) |
push_back |
Dodaje nowy element na końcu kontenera vector. (metoda) |
rbegin |
Zwraca iterator odwrotny wskazujący na ostatni element. (metoda) |
rend |
Zwraca iterator odwrotny wskazujący na element występujący bezpośrednio przed pierwszym elementem. (metoda) |
reserve |
Rezerwuje tyle miejsca w kontenerze, żeby pomieściła się wskazana liczba elementów bez konieczności wykonywania dodatkowej realokacji pamięci przy ich dodawaniu. (metoda) |
resize |
Ustawia nowy rozmiar kontenera vector. (metoda) |
size |
Zwraca liczbę elementów znajdujących się aktualnie w kontenerze. (metoda) |
swap |
Kontenery vector zamieniają się posiadanymi danymi. (metoda) |
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.