English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La lista è un contenitore contiguo, mentre il vector è un contenitore non contiguo, ossia la lista memorizza gli elementi in un'area di memoria contigua, mentre il vector memorizza in aree di memoria non contigue.
L'inserimento e la rimozione nel mezzo del vettore (vector) sono molto costosi, perché richiedono molto tempo per spostare tutti gli elementi. La lista supera questo problema, è implementata tramite il contenitore list.
La lista supporta la bidirezionalità e fornisce un metodo efficace per le operazioni di inserimento e rimozione.
La velocità di scansione nella lista è molto lenta, perché gli elementi della lista sono acceduti in ordine, mentre il vector supporta l'accesso casuale.
#include<iostream> #include<list> using namespace std; int main() { list<int> l; }
Crea una lista di valori di tipo intero vuota.
La lista può essere inizializzata anche con parametri.
#include<iostream> #include<list> using namespace std; int main() { list<int> l{1,2,3,4}; }
La lista può essere inizializzata in due modi.
list<int> new_list{1,2,3,4}; o list<int> new_list = {1,2,3,4};
Ecco i membri delle funzioni della lista:
Metodo | Descrizione |
---|---|
insert() | Inserisce un nuovo elemento prima della posizione dell'iteratore. |
push_back() | Aggiunge un nuovo elemento alla fine del contenitore. |
push_front() | Aggiunge un nuovo elemento all'inizio. |
pop_back() | Elimina l'ultimo elemento. |
pop_front() | Elimina il primo elemento. |
empty() | Controlla se l'elenco è vuoto. |
size() | Trova il numero di elementi esistenti nell'elenco. |
max_size() | Trova la massima dimensione dell'elenco. |
front() | Restituisce il primo elemento dell'elenco. |
back() | Restituisce l'ultimo elemento dell'elenco. |
swap() | Quando i tipi di due elenchi sono gli stessi, scambierà due elenchi. |
reverse() | Inverterà gli elementi della lista. |
sort() | Ordinerà gli elementi della lista in ordine crescente. |
merge() | Unirà due liste ordinate. |
splice() | Inserirà una nuova lista nella lista chiamante. |
unique() | Eliminerà tutti gli elementi duplicati dalla lista. |
resize() | Cambia la dimensione del contenitore della lista. |
assign() | Assegnerà un nuovo elemento al contenitore della lista. |
emplace() | Inserirà un nuovo elemento nella posizione specificata. |
emplace_back() | Inserirà un nuovo elemento alla fine del contenitore. |
emplace_front() | Inserirà un nuovo elemento all'inizio della lista. |