Vector y lista

Anonim

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 los casos. 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 usando el operador "[]". Por lo tanto, resulta fácil examinar todos los elementos o un elemento específico con una operación vectorial. Por lo tanto, si inserta cualquier objeto al final, al principio o en el medio, 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 avance como el retroceso 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, en la mitad y al 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:: list <int> values; std:: list <int> otherValues;

Resumen: 1. Una lista no está sincronizada mientras que un vector está sincronizado. 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 que crecen dinámicamente. 4. Una lista no es segura para subprocesos, mientras que un vector es segura para subprocesos. 5. Las listas, ya que 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.