Udostępnij za pośrednictwem


deque (STL/CLR)

Klasa szablonu opisuje obiekt, który kontroluje różne długości sekwencji elementów losowe dostępem.Użyj kontenera deque do zarządzania sekwencja elementów wygląda to ciągły blok pamięci, ale można powiększać lub zmniejszać na obu końcach, bez konieczności skopiować wszelkie pozostałe elementy.Dlatego można wydajnie implementować double-ended queue.(Stąd nazwa.)

W opisie poniżej GValue jest taka sama, jak Value jest typem odwołania, w którym to przypadku jest Value^.

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Parametry

  • GValue
    Rodzajowy typ elementu w kontrolowanej sekwencji.

  • Wartość
    Typ elementu w kontrolowanej sekwencji.

Członkowie

Definicja typu

Opis

deque::const_iterator (STL/CLR)

Typ stałej iteratora kontrolowanych sekwencji numerów.

deque::const_reference (STL/CLR)

Typ stałej odwołanie do elementu.

deque::const_reverse_iterator (STL/CLR)

Typ stałej iteratora wstecznego kontrolowanych sekwencji numerów.

deque::difference_type (STL/CLR)

Typ podpisane odległość między dwoma elementami.

deque::generic_container (STL/CLR)

Typ rodzajowy interfejs dla kontenera.

deque::generic_iterator (STL/CLR)

Typ iterację rodzajowy interfejs dla kontenera.

deque::generic_reverse_iterator (STL/CLR)

Typ wstecznego iteratora rodzajowy interfejs dla kontenera.

deque::generic_value (STL/CLR)

Typ elementu dla rodzajowego interfejsu dla kontenera.

deque::Iterator (STL/CLR)

Typ iterację kontrolowanych sekwencji numerów.

deque::Reference (STL/CLR)

Typ odwołania do elementu.

deque::reverse_iterator (STL/CLR)

Typ wstecznego iteratora kontrolowanych sekwencji numerów.

deque::size_type (STL/CLR)

Typ podpisane odległość między dwoma elementami.

deque::value_type (STL/CLR)

Typ elementu.

Funkcja Członkowskie

Opis

deque::assign (STL/CLR)

Zastępuje wszystkie elementy.

deque::at (STL/CLR)

Uzyskuje dostęp do elementu w określonym położeniu.

deque::back (STL/CLR)

Uzyskuje dostęp do ostatniego elementu.

deque::begin (STL/CLR)

Określa początek kontrolowanych sekwencji.

deque::clear (STL/CLR)

Usuwa wszystkie elementy.

deque::deque (STL/CLR)

Tworzy obiekt kontenera.

deque::empty (STL/CLR)

Badania, czy elementy nie są obecnie.

deque::end (STL/CLR)

Określa koniec sekwencji kontrolowane.

deque::erase (STL/CLR)

Usuwa elementy na określonych pozycjach.

deque::front (STL/CLR)

Uzyskuje dostęp do pierwszego elementu.

deque::insert (STL/CLR)

Dodaje elementy w określonym położeniu.

deque::pop_back (STL/CLR)

Usuwa ostatni element.

deque::pop_front (STL/CLR)

Usuwa pierwszego elementu.

deque::push_back (STL/CLR)

Dodaje nowe ostatni element.

deque::push_front (STL/CLR)

Dodaje nowy element pierwszy.

deque::rbegin (STL/CLR)

Określa początek odwróconą kolejność kontrolowanych.

deque::rend (STL/CLR)

Określa koniec odwróconą kolejność kontrolowanych.

deque::resize (STL/CLR)

Zmienia liczbę elementów.

deque::size (STL/CLR)

Zlicza liczbę elementów.

deque::swap (STL/CLR)

Zamienia zawartość dwóch kontenerów.

deque::to_array (STL/CLR)

Kopiuje kontrolowanych sekwencji nowej tablicy.

Właściwość

Opis

deque::back_item (STL/CLR)

Uzyskuje dostęp do ostatniego elementu.

deque::front_item (STL/CLR)

Uzyskuje dostęp do pierwszego elementu.

Operator

Opis

deque::operator!= (STL/CLR)

Określa, czy dwa deque obiekty nie są równe.

deque::operator[] (STL/CLR)

Uzyskuje dostęp do elementu w określonym położeniu.

operator< (deque) (STL/CLR)

Określa, czy deque obiektu jest mniejsza niż inna deque obiektu.

operator<= (deque) (STL/CLR)

Określa, czy deque obiekt jest mniejsza lub równa drugiemu deque obiektu.

operator= (deque) (STL/CLR)

Zastępuje kontrolowanych sekwencji.

operator== (deque) (STL/CLR)

Określa, czy deque obiekt jest równa innej deque obiektu.

operator> (deque) (STL/CLR)

Określa, czy deque obiektu jest większy niż inny deque obiektu.

operator>= (deque) (STL/CLR)

Określa, czy deque obiektu jest większa niż lub równa innej deque obiektu.

Interfejsy

Interfejs

Opis

ICloneable

Duplikowanie obiektów.

IEnumerable

Sekwencji za pomocą elementów.

ICollection

Zachować grupy elementów.

IEnumerable<T>

Sekwencji poprzez maszynowy elementów.

ICollection<T>

Zachować grupy elementów określonego typu.

IList<T>

Utrzymanie uporządkowana grupa elementów maszynowy.

IDeque <Value>

Utrzymanie kontenerem.

Uwagi

Obiekt przydziela i zwalnia składowania w sekwencji kontroluje poprzez zapisanej tablicy uchwytów, które wyznacza bloków Value elementy.Tablica powiększa się na żądanie.Wzrost występuje w taki sposób, że koszt poprzedzenie albo dołączenie nowego elementu jest stałą czasu i nie pozostałe elementy są zakłócenia.Można również usunąć element na obu końcach w stałego czasu i bez pozostałych pierwiastków przeszkadzających.W ten sposób, deque jest dobrym kandydatem do podstawowej kontener dla szablonu klasy queue (STL/CLR) lub szablonu klasy stack (STL/CLR).

A deque obiekt obsługuje Iteratory losowy dostęp oznacza, że można się odwoływać do elementu bezpośrednio biorąc pod uwagę jego pozycji numerycznych, licząc od zera dla pierwszego elementu (przednie) do deque::size (STL/CLR)() - 1 do ostatniego elementu (tył).Oznacza to również, że deque jest odpowiednie do pełnienia funkcji podstawowych kontener dla szablonu klasy priority_queue (STL/CLR).

Iteratora deque przechowuje dojście do jego obiekt skojarzony deque wraz z bias elementu, który wyznacza go.Iteratory służy tylko z ich obiekty skojarzone kontenera.Bias deque element jest not niekoniecznie taka sama, jak jego położenie.Pierwszy element dodaje zawiera bias zero, następny element dołączonych ma bias 1, ale następny element prepended ma bias -1.

Wstawianie lub usuwanie elementów na końcu albo nie not zmienić wartość elementu przechowywane na wszelkie ważne bias.Wstawianie lub wymazywanie wnętrza elementu, jednak can zmienić wartość elementu przechowywane na danym bias, tak można również zmienić wartość, wyznaczony przez iterację.(Kontener może być konieczne skopiować elementy w górę lub w dół do utworzenia otworu przed instrukcji insert lub do wypełnienia otwór po Wymaż). Niemniej jednak iteratora deque zachowuje ważność tak długo, jak długo jego bias wyznacza prawidłowego elementu.Ponadto ważne iteratora pozostaje dereferencable--służy do dostępu lub zmienić wartość elementu ustanowi--tak długo, jak długo jego bias nie jest równa bias for iteratora, zwrócony przez end().

Wymazywanie lub usunięcie elementu wymaga destruktor jego wartości przechowywanej.Niszczenie kontenera powoduje wymazanie wszystkich elementów.W ten sposób kontener, którego typ elementu jest klasa ref zapewnia żadnych elementów przetrwać dłużej niż kontenera.Należy jednak zauważyć, że kontener uchwyty nie not zniszczyć jego elementów.

Wymagania

Nagłówek: < cliext/deque >

Obszar nazw: cliext

Zobacz też

Informacje

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Inne zasoby

Odwołanie do biblioteki STL/CLR.