- L'elenco è un contenitore contiguo mentre il vettore è un contenitore non contiguo, ovvero l'elenco memorizza gli elementi su una memoria contigua e il vettore memorizza su una memoria non contigua.
- L'inserimento e la cancellazione nel mezzo del vettore sono molto costosi in quanto richiedono molto tempo per spostare tutti gli elementi. Linklist supera questo problema e viene implementato utilizzando il contenitore di elenchi.
- L'elenco supporta la bidirezionalità e fornisce un modo efficiente per le operazioni di inserimento ed eliminazione.
- L'attraversamento è lento nell'elenco poiché si accede agli elementi dell'elenco in sequenza mentre il vettore supporta un accesso casuale.
Modello per l'elenco
#include #include using namespace std; int main() { list l; }
Crea un elenco vuoto di valori di tipo intero.
L'elenco può anche essere inizializzato con i parametri.
#include #include using namespace std; int main() { list l{1,2,3,4}; }
L'elenco può essere inizializzato in due modi.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4};
Funzioni di elenco C++
Di seguito sono riportate le funzioni membro dell'elenco:
Metodo | Descrizione |
---|---|
inserire() | Inserisce il nuovo elemento prima della posizione puntata dall'iteratore. |
respingere() | Aggiunge un nuovo elemento alla fine del vettore. |
push_front() | Aggiunge un nuovo elemento alla parte anteriore. |
pop_back() | Cancella l'ultimo elemento. |
pop_front() | Elimina il primo elemento. |
vuoto() | Controlla se l'elenco è vuoto o meno. |
misurare() | Trova il numero di elementi presenti nella lista. |
dimensione_massima() | Trova la dimensione massima dell'elenco. |
davanti() | Restituisce il primo elemento della lista. |
Indietro() | Restituisce l'ultimo elemento della lista. |
scambio() | Scambia due elenchi quando il tipo di entrambi gli elenchi è lo stesso. |
inversione() | Inverte gli elementi della lista. |
ordinare() | Ordina gli elementi della lista in ordine crescente. |
unisci() | Unisce i due elenchi ordinati. |
giunzione() | Inserisce una nuova lista nella lista invocante. |
unico() | Rimuove tutti gli elementi duplicati dall'elenco. |
ridimensionare() | Cambia la dimensione del contenitore dell'elenco. |
assegnare() | Assegna un nuovo elemento al contenitore dell'elenco. |
posizione() | Inserisce un nuovo elemento in una posizione specificata. |
posto_indietro() | Inserisce un nuovo elemento alla fine del vettore. |
posto_front() | Inserisce un nuovo elemento all'inizio della lista. |