Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Diferença entre Vector & Lista em C + +
A C + + Standard Template Library contém dois recipientes distintos mas semelhantes : o vetor ea lista . Um vetor é um conjunto de sequencialmente dispostos dados que podem aumentar ou diminuir de forma dinâmica , uma lista é um conjunto de itens relacionados que não são necessariamente dispostas sequencialmente na memória, mas pode ser acessado sequencialmente porque cada item tem um link para o próximo item. Aprender as diferenças entre o vetor ea lista pode ajudá-lo a escrever mais soluções otimizadas em C + +. Inclusão velocidade

Os dados contidos por um vetor é organizado seqüencialmente na memória , o que significa que, se você inserir um item no início de um vetor , cada item do vetor deve ser movido "para baixo" por um . Este é computacionalmente dispendioso , especialmente para grandes vectores . Esta penalidade de desempenho vem sempre que um item é inserido ou removido de qualquer local , exceto o último elemento do vetor. Com uma lista , os dados não são necessariamente organizadas sequencialmente na memória , em vez disso , cada item da lista contém um link para o próximo item na lista. Quando você insere em uma lista , o item pode ser colocado em qualquer lugar na memória , o que torna a inserção em uma lista muito menos caro do que a inserção em um vetor .
Classificação

o recipiente lista tem uma função tipo built-in que permite classificar os itens com base em um determinado critério . O vetor, no entanto, não tem essa função interna e, portanto, você deve escrever o código de classificação a si mesmo se você quiser classificar um vetor.
Random Access
< br > Listas

têm tempos de acesso aleatório mais lento do que vetores. Em um vetor, um elemento pode ser acessado diretamente pelo seu índice. Isto dá o vetor tempo de acesso muito rápido aleatória. Com uma lista , por outro lado , você pode acessar diretamente apenas o primeiro e último elementos , você deve percorrer a lista para acessar outros elementos , o que pode ser muito lento para grandes listas
redimensionamento .

Vetores crescer dinamicamente à medida que os itens são adicionados a eles. Quando um vetor cresce, ela dobra o número de itens que ele pode conter. Isso pode forçar todo o vetor para ser transferida para outro local na memória , o que pode ser computacionalmente caro. Listas não precisa guardar os seus elementos de forma contígua na memória, e pode, portanto, aumentar ou diminuir um item de cada vez, sem nunca precisar de copiar a lista inteira para um novo local.
< Br >

Anterior :

Próximo : No
  Os artigos relacionados
·Diferença entre C & Visual C 
·Como fazer o download e loja de mídia com o iPhone SDK…
·Como usar um buffer de anel 
·Como calcular o tempo em C em Linux 
·Como configurar Joomla Depuração no Eclipse 
·Como exibir arquivos de um Selecionado Tree View Node e…
·Como fazer um aplicativo para o iPhone no Visual C 
·Como fazer um projeto SDL no Código Blocos 
·Como fazer uma string em uma matriz de caracteres em C …
·Como compilar usando Dev C + + 
  Artigos em destaque
·Tipos de ataques de saturação de buffer 
·C + + Função chamada está faltando Lista Argument 
·Funções de primeira classe em Python 
·Como usar Breadcrumbs em Masterpage 
·Como colocar números inteiros em ordem ascendente usan…
·Como Incorporar RESX no CSC Compiler 
·Como referência C DLLs em Net 
·Como remover todos os não- inteiros de uma String 
·Como projetar uma classe chamada Conta em C + + 
·Como escrever um programa em C para a multiplicação d…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados