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