Libreria C ++ - <deque>

introduzione

Deque è l'acronimo di Ddoppio Ended Queue. È un contenitore di sequenze che può cambiare la sua dimensione di runtime. Il contenitore è un oggetto che contiene dati dello stesso tipo. I contenitori di sequenza memorizzano gli elementi rigorosamente in sequenza lineare.

Gli elementi di deque possono essere sparsi in diversi blocchi di memoria. Il contenitore memorizza le informazioni necessarie per consentire l'accesso diretto a qualsiasi elemento in tempo costante. A differenza dei vettori, non è garantito che deque memorizzi tutto il suo elemento in posizioni di memoria contigue. Quindi non consente l'accesso diretto ai dati compensando i puntatori. Ma consente l'accesso diretto a qualsiasi elemento utilizzando l'operatore pedice [].

Deque può ridursi o espandersi secondo necessità da entrambe le estremità in fase di esecuzione. Il requisito di archiviazione viene soddisfatto automaticamente dall'allocatore interno . Deque fornisce funzionalità simili a quelle dei vettori, ma fornisce un modo efficiente per inserire ed eliminare dati da qualsiasi estremità.

Sono validi anche deques di dimensioni zero. In questo caso deque.begin () e deque.end () punta alla stessa posizione. Ma il comportamento di chiamare front () o back () non è definito.

Definizione

Di seguito è riportata la definizione di std :: deque dal file di intestazione <deque>

template < class T, class Alloc = allocator<T> > class deque;

Parametri

  • T - Tipo di elemento contenuto.

    T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.

  • Alloc - Tipo di oggetto allocatore.

    Per impostazione predefinita, viene utilizzato il modello di classe dell'allocatore, che definisce il modello di allocazione della memoria più semplice ed è indipendente dal valore.

Tipi di membri

I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.

Sr.No. Tipi di membri Definizione
1 value_type T (Primo parametro del modello)
2 allocator_type Alloc (Secondo parametro del modello)
3 riferimento value_type &
4 const_reference const value_type &
5 puntatore value_type *
6 const_pointer const value_type *
7 iteratore un iteratore ad accesso casuale per value_type
8 const_iterator un iteratore ad accesso casuale per const value_type
9 reverse_iterator std :: reverse_iterator <iterator>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 size_type size_t
12 differenza_tipo ptrdiff_t

Funzioni da <deque>

Di seguito è riportato un elenco di tutti i metodi dall'intestazione <deque>.

Costruttori

Sr.No. Metodo e descrizione
1 deque :: deque costruttore predefinito

Costruisce un deque vuoto con zero elementi.

2 deque :: deque fill costruttore

costruire un nuovo deque con n elementi e assegnare val a ogni elemento di deque

3 deque :: costruttore della gamma deque

Costruisce un deque con maggior numero di elementi nella gamma di prima per ultimo .

4 deque :: costruttore di copie deque

Costruisce una deque con copia di ogni elemento presente nel contenitore esistente.

5 deque :: deque costruttore di mosse

Costruisce una deque con il contenuto di other usando la semantica di spostamento.

6 deque :: costruttore della lista di inizializzatori deque

Costruisce un deque dall'elenco di inizializzazione.

Distruttore

Sr.No. Metodo e descrizione
1 deque :: ~ deque

Distrugge l'oggetto deque deallocando la sua memoria.

Funzioni dei membri

Sr.No. Metodo e descrizione
1 deque :: assign range version

Assegna nuovi valori agli elementi deque sostituendo quelli vecchi.

2 deque :: assign versione di riempimento

Assegna nuovi valori agli elementi deque sostituendo quelli vecchi.

3 deque :: assign versione dell'elenco di inizializzatori

Assegna nuovi valori agli elementi deque sostituendo quelli vecchi.

4 deque :: at

Restituisce il riferimento all'elemento presente nella posizione n nel deque.

5 deque :: indietro

Restituisce un riferimento all'ultimo elemento del deque.

6 deque :: inizio

Restituisce un iteratore ad accesso casuale che punta al primo elemento del deque.

7 deque :: cbegin

Restituisce un iteratore ad accesso casuale costante che punta all'inizio del deque.

8 deque :: cend

Restituisce un iteratore ad accesso casuale costante che punta all'inizio del deque.

9 deque :: clear

Distrugge il deque rimuovendo tutti gli elementi dal deque e imposta la dimensione del deque su zero.

10 deque :: crbegin

Restituisce un iteratore inverso costante che punta all'inizio dell'inversore del contenitore.

11 deque :: crend

Restituisce un iteratore inverso costante che punta all'estremità inversa del deque.

12 deque :: emplace

Estende il contenitore inserendo un nuovo elemento in posizione .

13 deque :: emplace_back

Inserisce un nuovo elemento alla fine di deque.

14 deque :: emplace_front

Inserisce un nuovo elemento all'inizio di deque.

15 deque :: vuoto

Verifica se deque è vuoto o meno.

16 deque :: end

Restituisce un iteratore che punta all'elemento oltre la fine nel contenitore deque.

17 deque :: cancella la versione della posizione

Rimuove un singolo elemento dal deque.

18 deque :: cancella la versione della gamma

Rimuove un singolo elemento dal deque.

19 deque :: front

Restituisce un riferimento al primo elemento del deque

20 deque :: get_allocator

Restituisce un allocatore associato a deque

21 deque :: inserire la versione a elemento singolo

Estende il contenitore inserendo un nuovo elemento in posizione.

22 deque :: inserire la versione di riempimento

Estende il contenitore inserendo un nuovo elemento nel contenitore.

23 deque :: insert range version

Estende il contenitore inserendo un nuovo elemento nel contenitore.

24 deque :: inserire la versione di spostamento

Estende il contenitore inserendo un nuovo elemento nel contenitore.

25 deque :: inserire la versione dell'elenco di inizializzatori

Estende il contenitore inserendo un nuovo elemento nel contenitore.

26 deque :: max_size

Restituisce il numero massimo di elementi che può essere trattenuto da deque.

27 deque :: operator = copia versione

Assegna nuovi contenuti al deque sostituendo quelli vecchi e modifica la dimensione se necessario.

28 deque :: operator = sposta versione

Assegna nuovi contenuti al deque sostituendo quelli vecchi e modifica la dimensione se necessario.

29 deque :: operator = versione elenco inizializzatori

Assegna nuovi contenuti al deque sostituendo quelli vecchi e modifica la dimensione se necessario.

30 deque :: operator []

Restituisce un riferimento all'elemento presente nella posizione n .

31 deque :: pop_back

Rimuove l'ultimo elemento da deque e riduce la dimensione di deque di uno.

32 deque :: pop_front

Rimuove il primo elemento da deque e riduce le dimensioni di deque di uno.

33 deque :: push_back

Inserisce un nuovo elemento alla fine di deque e aumenta la dimensione di deque di uno.

34 deque :: push_back sposta versione

Inserisce un nuovo elemento alla fine di deque e aumenta la dimensione di deque di uno.

35 deque :: push_front

Inserisce un nuovo elemento nella parte anteriore del deque e aumenta le dimensioni del deque di uno.

36 deque :: push_front move version

Inserisce un nuovo elemento nella parte anteriore del deque e aumenta le dimensioni del deque di uno.

37 deque :: rbegin

Restituisce un iteratore inverso che punta all'ultimo elemento della deque.

38 deque :: rend

Restituisce un iteratore inverso che punta all'estremità inversa del deque.

39 deque :: resize

Modifica la dimensione di deque.

40 deque :: resize value version

Modifica la dimensione di deque.

41 deque :: shrink_to_fit

Richiede al contenitore di ridurre la sua capacità per adattarsi alle sue dimensioni.

42 deque :: size

Restituisce il numero di elementi presenti nel deque.

43 deque :: swap

Scambia il contenuto di deque con il contenuto di un altro deque x .

Funzioni di sovraccarico non membro

Sr.No. Metodo e descrizione
1 operatore ==

Verifica se due deques sono uguali o meno.

2 operatore! =

Verifica se due deques sono uguali o meno.

3 operatore <

Verifica se la prima deque è minore di altre o meno.

4 operatore <=

Verifica se il primo deque è inferiore o uguale ad altri o meno.

5 operatore>

Verifica se la prima deque è maggiore di altre o meno.

6 operatore> =

Verifica se il primo deque è maggiore o uguale ad altri oppure no.

7 scambiare

Scambia il contenuto di due deque.