Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Język C++

deque

[szablon klasy] [Kontener] Lista dwukierunkowa ze swobodnym dostępem do wszystkich elementów.

Składnia

C/C++
#include <deque>

namespace std
{
   
    template <
    class Type,
    class Allocator = allocator < Type >
    >
    class deque;
   
}

Parametry szablonu

ParametrOpis
class TypeTyp danych jakiego mają być elementy, które są przechowywane przez kontener.
class AllocatorAlokator, który jest odpowiedzialny za zarządzanie pamięcią. Domyślnie używany jest standardowy alokator pamięci, tj. std::allocator<Type>.

Opis szczegółowy

Szablon deque jest to struktura danych reprezentująca dwukierunkową listę ze swobodnym dostępem do wszystkich elementów przechowywanych w kontenerze. Typ przechowywanych elementów określa parametr szablonu Type.

Szablon deque umożliwia dodawanie oraz usuwanie elementów na początku i końcu kolejki w czasie stałym - O(1). Dodawanie oraz usuwanie elementów w innych miejscach niż początek oraz koniec kontenera możliwe jest w czasie liniowym - O(n), gdzie n to liczba elementów w kontenerze.

Przykład

C/C++
#include <cstdio>
#include <deque>
int main()
{
    std::deque < int > dane;
    dane.push_back( 5 );
    dane.push_back( 2 );
    dane.push_back( 3 );
    dane.push_back( 1 );
    dane.push_front( 4 );
   
    for( size_t i = 0; i < dane.size(); i++ )
         printf( "%d, ", dane[ i ] );
   
    printf( "\n\nKoniec\n" );
    return 0;
}
Standardowe wyjście programu:
4, 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 » standard C++deque. (metoda)
back Zwraca referencję na ostatni element w kontenerze. (metoda)
begin Zwraca iterator wskazujący na pierwszy element. (metoda)
clear Usuwa wszystkie elementy z kontenera » standard C++deque. (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 » standard C++deque 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 » standard C++deque. (metoda)
insert Wstawia jeden element lub wiele elementów do kontenera » standard C++deque na określonej pozycji. (metoda)
max_size Maksymalna możliwa liczba elementów w kontenerze » standard C++deque. (metoda)
operator[] Zwraca referencję na element, który znajduje się na podanej pozycji w kontenerze » standard C++deque. (metoda)
pop_back Usuwa jeden element z kontenera » standard C++deque, znajdujący się na jego końcu. (metoda)
pop_front Usuwa jeden element z kontenera » standard C++deque, znajdujący się na jego początku. (metoda)
push_back Dodaje nowy element na końcu kontenera » standard C++deque. (metoda)
push_front Dodaje nowy element na początku kontenera » standard C++deque. (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)
resize Ustawia nowy rozmiar kontenera deque. (metoda)
size Zwraca liczbę elementów znajdujących się aktualnie w kontenerze. (metoda)
swap Kontenery » standard C++deque zamieniają się posiadanymi danymi. (metoda)