Udostępnij za pośrednictwem


deque (STL/CLR)

Klasa szablon opisuje obiekt, który kontroluje różnicowania długość sekwencji elementów z dostępem losowe.Użyj kontener deque do zarządzania sekwencja elementów, który wygląda jak ciągłego bloku pamięci masowej, ale które rozrastać lub zmniejszać obiekt na jednym z końców bez konieczności kopiowania wszelkich pozostałych elementów.Tym samym można wydajnie implementować double-ended queue. (Stąd nazwa.)

W polu Opis poniżej GValue jest taka sama jak Value o ile ten ostatni typ 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.

Elementy członkowskie

Definicja typu

Opis

deque::const_iterator (STL/CLR)

Typ iteratora stałego dla kontrolowanej sekwencji.

deque::const_reference (STL/CLR)

Typ stałego odwołania do elementu.

deque::const_reverse_iterator (STL/CLR)

Typ stałej sterująca wstecznego w kontrolowanej sekwencji.

deque::difference_type (STL/CLR)

Typ podpisanej odległości między dwoma elementami.

deque::generic_container (STL/CLR)

Typ rodzajowy interfejs dla kontenera.

deque::generic_iterator (STL/CLR)

Typ iteratora rodzajowy interfejsów dla kontenera.

deque::generic_reverse_iterator (STL/CLR)

Typ wstecznego sterująca rodzajowy interfejsów dla kontenera.

deque::generic_value (STL/CLR)

Typ elementu dla rodzajowego interfejsu dla kontenera.

deque::iterator (STL/CLR)

Typ iteratora dla kontrolowanej sekwencji.

deque::reference (STL/CLR)

Typ odwołania do elementu.

deque::reverse_iterator (STL/CLR)

Typ wstecznego sterująca w kontrolowanej sekwencji.

deque::size_type (STL/CLR)

Typ podpisanej odległości między dwoma elementami.

deque::value_type (STL/CLR)

Typ elementu.

Funkcji członka

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 kontrolowanej sekwencji.

deque::clear (STL/CLR)

Usuwa wszystkie elementy.

deque::deque (STL/CLR)

Konstruuje obiekt kontenera.

deque::empty (STL/CLR)

Badania, czy elementy nie są obecnie.

deque::end (STL/CLR)

Określa koniec kontrolowanej sekwencji.

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 nowy ostatni element.

deque::push_front (STL/CLR)

Dodaje nowy pierwszego elementu.

deque::rbegin (STL/CLR)

Określa początek odwrócone kontrolowanej sekwencji.

deque::rend (STL/CLR)

Określa koniec odwrócone kontrolowanej sekwencji.

deque::resize (STL/CLR)

Zmienia liczbę elementów.

deque::size (STL/CLR)

Oblicza liczbę elementów.

deque::swap (STL/CLR)

Zamienia zawartość dwa kontenery.

deque::to_array (STL/CLR)

Kopiuje kontrolowanej sekwencji do 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 obiekt jest mniejsza niż innego 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 kontrolowanej sekwencji.

operator== (deque) (STL/CLR)

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

operator> (deque) (STL/CLR)

Określa, czy deque obiekt 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 przez elementy.

ICollection

Obsługa grupy elementów.

IEnumerable

Sekwencji przez elementy maszynowy.

ICollection

Obsługa grupy elementów maszynowy.

IList

Obsługa Uporządkowana grupa elementów maszynowy.

IDeque<wartości>

Obsługa rodzajowy kontenera.

Uwagi

Obiekt przydziela i zwalnia pamięci masowej w sekwencji kontroluje poprzez zapisanej tablicy dojść do wyznaczenia bloków Value elementy.Tablica rośnie na żądanie.Wzrost występuje w taki sposób, że koszt poprzedzenia albo dołączenie nowego elementu jest stały czas, a pozostałe elementy nie są zakłócone.Można również usunąć element na obu końcach w stałym czasie i bez pozostałych pierwiastków przeszkadzających.Tak więc, 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-, co oznacza, że można odwołać się do elementu bezpośrednio biorąc pod uwagę jego pozycję numeryczny, licząc od zera dla pierwszego elementu (przód), aby deque::size (STL/CLR)() - 1 dla ostatniego elementu (tył).Oznacza to również, że deque jest dobrym kandydatem do podstawowej kontener dla szablonu klasy priority_queue (STL/CLR).

Sterująca deque przechowuje dojście do jego obiekt deque skojarzony wraz z bias element, który wyznacza ona.Iteratory można użyć tylko z ich kontenera skojarzone obiekty.Bias deque element jest not zawsze taki sam, jak jego pozycji.Pierwszy element wstawiony ma bias zero, następny element dołączonym ma bias 1, ale następny element prepended ma bias -1.

Wstawianie lub usuwanie elementów na jednym z końców nie not zmienić wartość elementu przechowywanych na wszelkie ważne odchylenia.Wstawianie i usuwanie wnętrza elementu, jednak can zmienić wartość elementu przechowywane w danym bias, więc można również zmienić wartości wyznaczone przez iterację. (Kontener może być konieczne skopiować elementy w górę lub w dół do utworzenia otworu przed insert lub do wypełnienia otwór po usunąć). Niemniej jednak sterująca deque zachowuje ważność tak długo, jak długo jego stronniczości wyznacza prawidłowego elementu.Ponadto prawidłowe sterująca pozostaje dereferencable--służy do dostępu lub zmienić wartość elementu wyznacza ona--tak długo, jak długo jego stronniczości nie jest równa bias dla sterująca zwrócone przez end().

Wymazywanie lub usunięcie elementu wywołuje destruktor dla swojej przechowywanej wartości.Niszczenie kontenera powoduje wymazanie wszystkich elementów.W efekcie kontenera, którego typ elementu jest klasą ref daje pewność, że elementy nie przeżyje kontenera.Należy jednak zauważyć, że kontener uchwyty nie not zniszczyć jego elementów.

Wymagania

Nagłówek:<cliext/deque>

Przestrzeń 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