Vector vs lista
A menudo confusos para los programadores, los vectores y las listas son secuencias que se utilizan en los conjuntos de arreglos en C ++ y Java. Los dos términos contienen direcciones de matriz pero con diferentes métodos para mantener matrices.
Lo básico que debemos saber es que una matriz es una "lista" que contiene algunos o todos los datos, es decir, enteros, puntos flotantes o caracteres y se define entre corchetes "[]".
En realidad, los vectores y las listas actúan de acuerdo a las instancias. Así que echemos un vistazo a estos dos términos uno por uno.
Vectores
Los vectores se utilizan en la matriz de espera y elementos de acceso. Aquí puede acceder a cualquier elemento al azar utilizando el operador "[]". Por lo tanto, resulta fácil examinar todos los elementos o un elemento específico con una operación vectorial. Entonces, si inserta cualquier objeto al final, al principio o en el medio, entonces los vectores tienen un punto positivo porque puede acceder a la dirección aleatoria y hacer cambios allí. Sin embargo, los vectores son un poco lentos en comparación con los objetos de lista. Los vectores se consideran como objetos sincronizados, eficientes en el acceso aleatorio, y contienen adecuadamente los datos con una lista sincronizada. Se selecciona un vector cuando no hay necesidad de insertar o borrar en el
medio (lista) o desde el frente.
El número de elementos en una matriz puede variar dramáticamente.
Ejemplo:
vector V;
V.insert (V.begin (), 3);
assert (V.size () == 1 && V.capacity ()> = 1 && V [0] == 3);
Liza
Las listas son "secuencias de enlace doble" que admiten tanto el desplazamiento hacia delante como hacia atrás. El tiempo empleado en la inserción y eliminación al principio, final y en el medio es constante. La inserción y el empalme entre listas vinculadas no invalidan ninguna iteración en los elementos. Sólo la eliminación invalida la iteración. No están sincronizados por lo que no son accesibles al azar. El orden de las iteraciones puede cambiar según el usuario, pero no afecta ningún cambio en los elementos. Son más rápidos que los vectores y son ideales para la inserción y eliminación al principio, medio y final de las listas de elementos..
Ejemplo:
#incluir
// lista de definición de plantilla de clase
... .
int main ()
int array [4] = 2, 6, 4, 8;
std :: lista de valores;
std :: list otherValues;
Resumen:
1. Una lista no está sincronizada mientras que un vector está.
2. Las listas no tienen un tamaño predeterminado mientras que un vector tiene un tamaño predeterminado de 10.
3. Las listas y los vectores son matrices de crecimiento dinámico..
4. Una lista no es segura para subprocesos mientras que un vector es segura para subprocesos.
5. Las listas, como se aplican solo a la adición y eliminación en la parte delantera y trasera, son más rápidas mientras
los vectores toman mas CPU.
6. Un vector crece por su tamaño dos veces, mientras que una lista se reduce a la mitad, es decir, 50 por ciento..