Libreria C ++ - <list>

introduzione

List è un contenitore di sequenze comunemente usato. Il contenitore è un oggetto che contiene dati dello stesso tipo. Il contenitore della lista è implementato come lista doppiamente collegata, quindi fornisce un accesso sequenziale bidirezionale ai suoi dati.

L'elenco non fornisce un accesso casuale veloce, supporta solo l'accesso sequenziale in entrambe le direzioni. List consente operazioni di inserimento ed eliminazione ovunque all'interno di una sequenza a tempo costante.

Gli elementi della lista possono essere sparsi in diversi blocchi di memoria. Il contenitore memorizza le informazioni necessarie per consentire l'accesso sequenziale ai suoi dati. Gli elenchi possono ridursi o espandersi secondo necessità da entrambe le estremità in fase di esecuzione. Il requisito di archiviazione viene soddisfatto automaticamente dall'allocatore interno.

Sono valide anche liste di dimensioni zero. In questo caso list.begin () e list.end () puntano alla stessa posizione. Ma il comportamento di chiamare front () o back () non è definito.

Definizione

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

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

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

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

Costruttori

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

Costruisce un elenco vuoto con zero elementi.

2 list :: list fill costruttore

Costruisce una nuova lista con n elementi e assegna val a ogni elemento della lista.

3 list :: list fill costruttore

Costruisce un nuovo elenco con n elementi e assegna valore zero a ciascun elemento della lista.

4 list :: list range costruttore

Costruisce una lista con il maggior numero di elementi come nella gamma di prima per ultima .

5 list :: list copy costruttore

Costruisce una lista con copia di ogni elemento presente nella lista esistente.

6 list :: list move costruttore

Costruisce un elenco con il contenuto di altri utilizzando la semantica di spostamento.

7 list :: list inizializzatore list costruttore

Costruisce un elenco con il contenuto di altri utilizzando la semantica di spostamento.

Distruttore

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

Distrugge l'oggetto elenco deallocando la sua memoria.

Funzioni dei membri

Sr.No. Metodo e descrizione
1 list :: assegna la versione dell'intervallo

Assegna un nuovo valore all'elenco sostituendo quelli vecchi.

2 list :: assegna versione di riempimento

Assegna nuovi valori all'elenco sostituendo quelli vecchi.

3 list :: assegna la versione dell'elenco degli inizializzatori

Assegna nuovi valori all'elenco sostituendo quelli vecchi.

4 list :: indietro

Restituisce un riferimento all'ultimo elemento della lista.

5 list :: inizio

Restituisce un iteratore ad accesso casuale che punta al primo elemento dell'elenco.

6 list :: cbegin

Restituisce un iteratore ad accesso casuale costante che punta all'inizio dell'elenco.

7 list :: cend

Restituisce un iteratore ad accesso casuale costante che punta alla fine dell'elenco.

8 list :: clear

Distrugge l'elenco rimuovendo tutti gli elementi dall'elenco e imposta la dimensione dell'elenco su zero.

9 list :: crbegin

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

10 list :: crend

Restituisce un iteratore inverso costante che punta all'elemento teorico che precede il primo elemento dell'elenco.

11 list :: emplace

Estende l'elenco inserendo un nuovo elemento in una data posizione.

12 list :: emplace_back

Inserisce un nuovo elemento alla fine dell'elenco e aumenta la dimensione dell'elenco di uno.

13 list :: emplace_front

Inserisce un nuovo elemento all'inizio dell'elenco e aumenta la dimensione dell'elenco di uno.

14 elenco :: vuoto

Verifica se l'elenco è vuoto o meno.

15 list :: end

Restituisce un iteratore ad accesso casuale che punta all'ultimo elemento dell'elenco.

16 list :: cancella la versione della posizione

Rimuove un singolo elemento dall'elenco.

17 list :: cancella la versione dell'intervallo

Rimuove l'intervallo di elementi dall'elenco.

18 list :: front

Restituisce un riferimento al primo elemento della lista.

19 list :: get_allocator

Restituisce un allocatore associato a list

20 list :: inserire la versione del singolo elemento

Estende l'iteratore inserendo un nuovo elemento nella posizione nell'elenco.

21 list :: inserire la versione di riempimento

Estende la lista inserendo nuovi elementi nel contenitore.

22 list :: inserire la versione della gamma

Estende la lista inserendo nuovi elementi nel contenitore.

23 list :: inserisci la versione dello spostamento

Estende l'elenco inserendo un nuovo elemento nel contenitore.

24 list :: inserire la versione dell'elenco degli inizializzatori

Estende la lista inserendo nuovi elementi nel contenitore

25 list :: max_size

Restituisce il numero massimo di elementi che può essere trattenuto dalla lista.

26 list :: merge

Unisce due elenchi ordinati in uno.

27 lista :: merge funzione di confronto

Unisce due elenchi ordinati in uno.

28 list :: merge move version

Unisce due elenchi ordinati in uno utilizzando la semantica di spostamento.

29 list :: merge confronta la funzione sposta la versione

Unisce due elenchi ordinati in uno utilizzando la semantica di spostamento.

30 list :: operator = copia versione

Assegna nuovi contenuti all'elenco sostituendo quelli vecchi.

31 list :: operator = sposta versione

Assegna nuovi contenuti all'elenco sostituendo quelli vecchi.

32 list :: operator = versione elenco inizializzatore

Assegna nuovi contenuti all'elenco sostituendo quelli vecchi.

33 list :: pop_back

Rimuove l'ultimo elemento dall'elenco.

34 list :: pop_front

Rimuove il primo elemento dall'elenco.

35 list :: push_back

Inserisce un nuovo elemento alla fine della lista.

36 list :: push_back sposta versione

Inserisce un nuovo elemento alla fine della lista.

37 list :: push_front

Inserisce un nuovo elemento all'inizio della lista.

38 list :: push_front move version

Inserisce un nuovo elemento all'inizio della lista.

39 list :: rbegin

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

40 list :: rimuovi

rimuove gli elementi dall'elenco che corrispondono al valore.

41 list :: remove_if

rimuove gli elementi dall'elenco che soddisfano la condizione.

42 list :: rend

Restituisce un iteratore inverso che punta all'estremità inversa dell'elenco.

43 list :: resize

Modifica la dimensione dell'elenco.

44 list :: resize value version

Modifica la dimensione dell'elenco.

45 list :: reverse

Inverte l'ordine degli elementi presenti nella lista.

46 list :: size

Restituisce il numero di elementi presenti nell'elenco.

47 list :: sort

Ordina gli elementi dell'elenco.

48 list :: sort compare la funzione

Ordina gli elementi dell'elenco.

49 list :: splice

Trasferisce tutti gli elementi dalla lista a * this.

50 list :: giunzione singolo elemento

Trasferisce un elemento puntato dall'iteratore i dalla lista x in * this .

51 list :: splice move version

Trasferisce tutti gli elementi dalla lista x a * this utilizzando la semantica di spostamento.

52 list :: versione gamma splice

Trasferimenti gli elementi nell'intervallo primo a durare da x a * questo .

53 list :: splice singolo elemento versione mossa

Trasferisce l'elemento puntato dall'iteratore i dalla lista x in * this usando la semantica di spostamento.

54 list :: gamma di giunzione e versione di spostamento

Trasferimenti gli elementi nell'intervallo primo a durare da x a * questo utilizzando semantica movimento.

55 list :: swap

Scambia il contenuto della lista con il contenuto di un'altra lista x .

56 elenco :: unico

Rimuove tutti gli elementi duplicati consecutivi dall'elenco.

57 elenco :: unico

Rimuove tutti gli elementi duplicati consecutivi dall'elenco.

Funzioni di sovraccarico non membro

Sr.No. Metodo e descrizione
1 operatore ==

Verifica se due elenchi sono uguali o meno.

2 operatore! =

Verifica se due elenchi sono uguali o meno.

3 operatore <

Verifica se il primo elenco è minore di altri o meno.

4 operatore <=

Verifica se il primo elenco è minore o uguale ad altri oppure no.

5 operatore>

Verifica se il primo elenco è maggiore di altri o meno.

6 operatore> =

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

7 scambiare

Scambia il contenuto di due elenchi.