Diferença entre Vector e List Diferença entre

Anonim

Vector vs List

Muitas vezes confundindo com os programadores, os vetores e as listas são seqüências usadas nas propriedades da matriz em C ++ e Java. Os dois termos possuem os endereços da matriz, mas com diferentes métodos de armazenamento de arrays.

O básico que precisamos saber é que uma matriz é uma "lista" que contém alguns ou todos os dados, eu. e., números inteiros, pontos flutuantes ou caracteres e é definido entre colchetes "[]. "

Na verdade, vetores e listas atuam de acordo com as instâncias. Então vamos dar uma olhada nestes dois termos, um a um.

Vetores

Os vetores são usados ​​na matriz e elementos acessando. Aqui você pode acessar qualquer elemento aleatoriamente usando o operador "[]". Assim, torna-se fácil olhar através de todos os elementos ou um elemento específico com uma operação vetorial. Então, se você inserir qualquer objeto no final, no início, ou no meio, os vetores têm um ponto positivo porque você pode acessar o endereço aleatório e fazer alterações lá. No entanto, os vetores são um pouco lentos em comparação com os objetos da lista. Os vetores são considerados objetos sincronizados, eficientes em acesso aleatório, e eles mantêm adequadamente os dados com uma lista sincronizada. Um vetor é colhido sempre que não é necessário inserir ou excluir no

meio (lista) ou pela frente.

O número de elementos em uma matriz pode variar drasticamente.

Exemplo:

vetor V;

V. inserir (V. begin (), 3);

assert (V. Size () == 1 && V. capacity ()> = 1 && V [0] == 3);

Listas

As listas são "duas sequências ligadas", que suportam tanto a frente como a travessia para trás. O tempo de inserção e exclusão no início, no final e no meio é constante. Inserção e empalme entre listas vinculadas não invalidam qualquer iteração nos elementos. Apenas a remoção invalida a iteração. Eles não estão sincronizados para que eles não estejam acessíveis aleatoriamente. O pedido de iterações pode mudar de acordo com o usuário, mas não afeta nenhuma alteração nos elementos. Eles são mais rápidos do que os vetores e são ideais para inserção e exclusão no início, no meio e no final das listas de elementos.

Exemplo:

#include

// lista classe-modelo de definição

….

int main ()

{

int array [4] = {2, 6, 4, 8};

std:: lista de valores;

std:: list otherValues;

Resumo:

1. Uma lista não é sincronizada enquanto um vetor é.

2. As listas não têm tamanho padrão enquanto um vetor tem um tamanho padrão de 10.

3. As listas e os vetores são simultaneamente arrays em crescimento dinâmico.

4. Uma lista não é thread-safe enquanto um vetor é thread-safe.

5. As listas, uma vez que se aplicam apenas à adição e exclusão na frente e na retaguarda, são mais rápidas, enquanto os vetores

tomam mais CPU.

6. Um vetor cresce por seu tamanho duas vezes, enquanto uma lista diminui para metade, i.e., 50 por cento.