Vetor em C++ Biblioteca de modelos padrão (STL) com exemplo
⚡ Resumo Inteligente
Vetor em C++ É um array dinâmico da Biblioteca de Modelos Padrão (STL) que se redimensiona automaticamente à medida que elementos são adicionados ou removidos, armazenando itens em memória contígua para que os programadores possam acessá-los e percorrê-los usando iteradores.

O que é uma C++ Vetor?
A C++ Vector é um array dinâmico capaz de se redimensionar automaticamente. O redimensionamento ocorre após um elemento ser adicionado ou excluído do vetor. O armazenamento é feito automaticamente pelo contêiner. Os elementos de um vetor são armazenados em armazenamento contíguo. Isso permite C++ programadores para acessar e percorrer os elementos vetoriais usando iteradores.
A inserção de novos dados em um vetor é feita em sua extremidade. Isso leva um tempo diferencial. A remoção de um elemento de um vetor leva um tempo constante. A razão é que não há necessidade de redimensionar o vetor. A inserção ou remoção de um elemento no início do vetor leva um tempo linear.
Antes de escrever código com vetores, é útil saber quando eles são o contêiner adequado para usar.
Quando usar um vetor?
A C++ O vetor deve ser usado nas seguintes circunstâncias:
- Ao lidar com elementos de dados que mudam consistentemente.
- Se o tamanho dos dados não for conhecido previamente, o vetor não exigirá que você defina o tamanho máximo do contêiner.
Como inicializar vetores em C++
A sintaxe dos vetores em C++ é:
vector <data-type> name (items)
Conforme mostrado acima, começamos com a palavra-chave vector.
- O tipo de dados é o tipo de dados dos elementos a serem armazenados no vetor.
- O nome é o nome do vetor ou dos elementos de dados.
- O Unid Indica o número de elementos do vetor de dados. Este parâmetro é opcional.
Uma vez que um vetor existe, os iteradores fornecem uma maneira semelhante a um ponteiro para percorrer seus elementos.
Iteradores
O objetivo dos iteradores é nos ajudar a acessar os elementos armazenados em um vetor. É um objeto que funciona como um ponteiro. Aqui estão os iteradores comuns suportados por... C++ vetores:
- vetor::início(): fornece um iterador que aponta para o primeiro elemento do vetor.
- vetor::fim(): fornece um iterador que aponta para o elemento posterior ao final do vetor.
- vetor::cbegin(): É o mesmo que vector::begin(), mas não tem a capacidade de modificar elementos.
- vetor::cend(): É o mesmo que vector::end(), mas não pode modificar elementos do vetor.
O exemplo a seguir preenche um vetor e, em seguida, percorre-o usando iteradores mutáveis e constantes.
Exemplo 1
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums; for (int a = 1; a <= 5; a++) nums.push_back(a); cout << "Output from begin and end: "; for (auto a = nums.begin(); a != nums.end(); ++a) cout << *a << " "; cout << "\nOutput from cbegin and cend: "; for (auto a = nums.cbegin(); a != nums.cend(); ++a) cout << *a << " "; return 0; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Inclua o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Inclua o arquivo de cabeçalho vetorial em nosso código. Isso nos permitirá trabalhar com vetores em C++.
- Inclua o namespace std para usar suas classes e funções sem chamá-lo.
- Chame a função main() dentro da qual a lógica do programa deve ser adicionada.
- O { marca o início do corpo da função main().
- Declare um vetor chamado nums para armazenar um conjunto de inteiros.
- Crie um laço `for` para nos ajudar a iterar sobre o vetor. A variável nos ajudará a iterar sobre os elementos do vetor, do 1º ao 5º elemento.
- Empurre os elementos para o vetor num por trás. Para cada iteração, isso adicionará o valor atual da variável a ao vetor, que é de 1 a 5.
- Imprima algum texto no console.
- Use uma variável iteradora a para iterar sobre os elementos do vetor nums desde o início até o elemento após o fim. Observe que estamos usando iteradores vector::begin() e vector::end().
- Imprima os valores apontados pela variável iteradora a no console para cada iteração.
- Imprima algum texto no console. O \n é um caractere de nova linha, movendo o cursor para a nova linha para imprimir a partir daí.
- Use uma variável iteradora para iterar sobre os elementos do vetor `nums` do início até o elemento que ultrapassa o final. Observe que estamos usando os iteradores `vector::cbegin()` e `vector::cend()`.
- Imprima os valores apontados pela variável iteradora a no console para cada iteração.
- A função principal deve retornar um valor se o programa for executado com sucesso.
- Fim do corpo da função main().
Modificadores
Modificadores são usados para alterar o significado do tipo de dados especificado. Aqui estão os modificadores comuns em C++:
- vetor::push_back(): Este modificador empurra os elementos por trás.
- vetor::inserir(): Para inserir novos itens em um vetor em um local especificado.
- vetor::pop_back(): Este modificador remove os elementos do vetor da parte traseira.
- vetor::apagar(): É usado para remover um intervalo de elementos do local especificado.
- vetor::claro(): Remove todos os elementos do vetor.
O próximo exemplo aplica esses modificadores em sequência para ver como um vetor se altera.
Exemplo 2
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums; nums.assign(5, 1); cout << "Vector contents: "; for (int a = 0; a < nums.size(); a++) cout << nums[a] << " "; nums.push_back(2); int n = nums.size(); cout << "\nLast element: " << nums[n - 1]; nums.pop_back(); cout << "\nVector contents: "; for (int a = 0; a < nums.size(); a++) cout << nums[a] << " "; nums.insert(nums.begin(), 7); cout << "\nFirst element: " << nums[0]; nums.clear(); cout << "\nSize after clear(): " << nums.size(); }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho vetorial em nosso código para usar suas funções.
- Inclua o namespace std para usar suas classes sem chamá-lo.
- Chame a função main(). A lógica do programa deve ser adicionada dentro do seu corpo.
- O início do corpo da função main().
- Declare um vetor chamado nums para armazenar alguns valores inteiros.
- Armazene 5 elementos no vetor nums. Cada um com valor 1.
- Imprima algum texto no console.
- Use uma variável iteradora a para iterar sobre os elementos do vetor nums.
- Imprima os valores dos números do vetor no console para cada iteração.
- Adicione o valor 2 ao final do vetor nums.
- Declare uma variável inteira n para armazenar o tamanho do vetor nums.
- Imprima o último valor do vetor nums junto com outro texto. Deve retornar um 2.
- Remova o último elemento do vetor nums. Os 2 serão removidos.
- Imprima o texto no console. O \n move o cursor para a nova linha para imprimir o texto lá.
- Use uma variável iteradora a para iterar sobre os elementos do vetor nums.
- Imprima os valores dos números do vetor no console para cada iteração.
- Insira o valor 7 no início do vetor nums.
- Imprima o primeiro valor do vetor nums junto com outro texto. Deve retornar 7.
- Exclua todos os elementos do vetor nums.
- Imprima o tamanho do vetor num junto com outro texto depois de limpar todo o conteúdo. Deve retornar 0.
- Fim do corpo da função main().
Capacidade
Use o seguinte funções Para determinar a capacidade de um vetor:
- Tamanho() – Retorna o número de itens em um vetor.
- Tamanho máximo() – Retorna o número máximo de itens que um vetor pode armazenar.
- Capacidade() – Retorna a quantidade de espaço de armazenamento alocado a um vetor.
- Redimensionar() – Redimensiona o contêiner para conter n itens. Se o tamanho atual do vetor for maior que n, os itens do final serão removidos do vetor. Se o tamanho atual do vetor for menor que n, itens extras serão adicionados ao final do vetor.
- Vazio() – Retorna verdadeiro se o vetor estiver vazio. Caso contrário, retorna falso.
Este exemplo final relata e ajusta o armazenamento de um vetor usando as funções de capacidade acima.
Exemplo 3
#include <iostream> #include <vector> using namespace std; int main() { vector<int> vector1; for (int x = 1; x <= 10; x++) vector1.push_back(x); cout << "Vector size: " << vector1.size()<< endl; cout << "Vector capacity: " << vector1.capacity() << endl; cout << "Maximum size of vector: " << vector1.max_size()<< endl; vector1.resize(5); cout << "Vector size after resizing: " << vector1.size() << endl; if (vector1.empty() == false) cout << "Vector is not empty"<<endl; else cout << "Vector is empty"<<endl; return 0; }
Saída:
Aqui está uma captura de tela do código:
Code Explicação:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar sua função.
- Inclua o arquivo de cabeçalho vetorial em nosso código para usar suas funções.
- Inclua o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chame a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Crie um vetor chamado vector1 para armazenar inteiros.
- Use um loop for para criar a variável x com valores de 1 a 10.
- Insira os valores da variável x no vetor.
- Imprima o tamanho do vetor junto com outro texto no console.
- Imprima a capacidade do vetor junto com outro texto no console.
- Imprima o número máximo de itens que o vetor pode conter junto com outro texto no console.
- Redimensione o vetor para conter apenas 5 elementos.
- Imprima o novo tamanho do vetor junto com outro texto.
- Verifique se o vetor não está vazio.
- Imprima o texto no console se o vetor não estiver vazio.
- Use uma instrução else para indicar o que fazer se o vetor estiver vazio.
- Texto a ser impresso no console se o vetor estiver vazio.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().





