Compartilhamento de tecnologia

[Apaixonando-se por C] Explicação detalhada do uso do vetor

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Olá ~ colegas, este artigo se aprofundará no contêiner vetorial em C. Como um dos arrays dinâmicos mais comumente usados ​​​​na Biblioteca de Modelos Padrão (STL), o vetor fornece armazenamento flexível de elementos e métodos de acesso eficientes. Começaremos com o conhecimento básico e aprenderemos gradualmente suas operações de criação, inicialização, travessia, gerenciamento de espaço, adição, exclusão, verificação e modificação. Através de exemplos e análises detalhadas, esperamos ajudar os leitores a compreender e dominar completamente as habilidades e precauções para o uso de vetores.

1: Introdução ao vetor

vetordocumento

  1. Um vetor é um contêiner de sequência que representa uma matriz de tamanho variável.
  2. Assim como os arrays, os vetores também usam espaço de armazenamento contínuo para armazenar elementos. Isso significa que você pode usar subscritos para acessar os elementos do vetor, o que é tão eficiente quanto um array. Mas, diferentemente de um array, seu tamanho pode ser alterado dinamicamente e será tratado automaticamente pelo contêiner.
  3. Essencialmente, o vetor usa um array alocado dinamicamente para armazenar seus elementos. Quando novos elementos são inseridos, o array precisa ser redimensionado para aumentar o espaço de armazenamento. Isso é feito alocando um novo array e, em seguida, movendo todos os elementos para esse array. Em termos de tempo, esta é uma tarefa relativamente cara, pois o vetor não é redimensionado toda vez que um novo elemento é adicionado ao contêiner.
  4. Estratégia de espaço de alocação vetorial: o vetor aloca algum espaço extra para acomodar um possível crescimento porque o espaço de armazenamento é maior do que o espaço de armazenamento real necessário. Bibliotecas diferentes usam estratégias diferentes para compensar o uso e a realocação do espaço. Mas em qualquer caso, a realocação deve ser crescente logaritmicamente no tamanho do intervalo, para que a inserção de um elemento no final seja feita em tempo constante.
  5. Portanto, o vetor ocupa mais espaço de armazenamento para ganhar a capacidade de gerenciar o espaço de armazenamento e crescer dinamicamente de maneira eficiente.
  6. Comparado com outros contêineres de sequência dinâmica (deque, list e forward_list), o vetor é mais eficiente ao acessar elementos, e adicionar e excluir elementos no final é relativamente eficiente. Para outras operações de exclusão e inserção que não estão no final, a eficiência é ainda menor. É melhor usar iteradores e referências unificados do que list e forward_list.


Existem três áreas de uso do STL: ser capaz de usá-lo, ser capaz de entendê-lo e ser capaz de expandi-lo. Vamos aprender o vetor a seguir.

2: Criação e inicialização do vetor

Precisa de arquivo de cabeçalho#include