- La lista es un contenedor contiguo, mientras que el vector es un contenedor no contiguo, es decir, la lista almacena los elementos en una memoria contigua y el vector se almacena en una memoria no contigua.
- La inserción y eliminación en medio del vector es muy costosa ya que lleva mucho tiempo mover todos los elementos. Linklist supera este problema y se implementa utilizando el contenedor de listas.
- La lista admite bidireccionalidad y proporciona una forma eficiente para las operaciones de inserción y eliminación.
- El recorrido es lento en la lista ya que se accede a los elementos de la lista de forma secuencial, mientras que el vector admite un acceso aleatorio.
Plantilla para lista
#include #include using namespace std; int main() { list l; } Crea una lista vacía de valores de tipo entero.
La lista también se puede inicializar con los parámetros.
#include #include using namespace std; int main() { list l{1,2,3,4}; } La lista se puede inicializar de dos maneras.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4}; Funciones de lista de C++
Las siguientes son las funciones miembro de la lista:
| Método | Descripción |
|---|---|
| insertar() | Inserta el nuevo elemento antes de la posición señalada por el iterador. |
| hacer retroceder() | Agrega un nuevo elemento al final del vector. |
| empujar_front() | Agrega un nuevo elemento al frente. |
| pop_back() | Elimina el último elemento. |
| pop_front() | Elimina el primer elemento. |
| vacío() | Comprueba si la lista está vacía o no. |
| tamaño() | Encuentra el número de elementos presentes en la lista. |
| tamaño máximo() | Encuentra el tamaño máximo de la lista. |
| frente() | Devuelve el primer elemento de la lista. |
| atrás() | Devuelve el último elemento de la lista. |
| intercambio() | Intercambia dos listas cuando el tipo de ambas listas es el mismo. |
| contrarrestar() | Invierte los elementos de la lista. |
| clasificar() | Ordena los elementos de la lista en orden creciente. |
| unir() | Fusiona las dos listas ordenadas. |
| empalme() | Inserta una nueva lista en la lista de invocación. |
| único() | Elimina todos los elementos duplicados de la lista. |
| cambiar tamaño() | Cambia el tamaño del contenedor de lista. |
| asignar() | Asigna un nuevo elemento al contenedor de la lista. |
| ubicación() | Inserta un nuevo elemento en una posición especificada. |
| emplace_back() | Inserta un nuevo elemento al final del vector. |
| emplace_front() | Inserta un nuevo elemento al principio de la lista. |