O que é um vetor C ++?
Um VETOR C ++ é um array dinâmico capaz de se redimensionar automaticamente. O redimensionamento ocorre após um elemento ter sido adicionado ou excluído do vetor. O armazenamento é feito automaticamente pelo container. Os elementos de um vetor são armazenados em um armazenamento contíguo. Isso permite que os programadores C ++ acessem e percorram os elementos do vetor usando iteradores.
A inserção de novos dados em um vetor é feita no seu final. Isso leva um tempo diferencial. A remoção de um elemento de um vetor leva um tempo constante. O motivo é que não há necessidade de redimensionar o vetor. A inserção ou exclusão de um elemento no início do vetor leva um tempo linear.
Neste Tutorial C ++, você aprenderá:
- O que é um vetor C ++?
- Quando usar um vetor?
- Como inicializar vetores em C ++
- Iteradores
- Modificadores
- Exemplo 1
- Exemplo 2
- Capacidade
- Exemplo 3
Quando usar um vetor?
Um vetor C ++ deve ser usado nas seguintes circunstâncias:
- Ao lidar com elementos de dados que mudam de forma consistente.
- Se o tamanho dos dados não for conhecido antes do início, 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 ++ é:
vectorname (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.
- Os itens denotam o número de elementos para os dados do vetor. Este parâmetro é opcional.
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 vetores C ++:
- vector :: begin (): fornece um iterador que aponta para o primeiro elemento do vetor.
- vector :: end (): fornece um iterador que aponta para o elemento anterior ao fim do vetor.
- vector :: cbegin (): é o mesmo que vector :: begin (), mas não tem a capacidade de modificar elementos.
- vector :: cend (): é o mesmo que vector :: end () mas não pode modificar os elementos do vetor.
Modificadores
Os modificadores são usados para alterar o significado do tipo de dados especificado. Aqui estão os modificadores comuns em C ++:
- vector :: push_back (): Este modificador empurra os elementos de trás.
- vector :: insert (): Para inserir novos itens em um vetor em um local especificado.
- vector :: pop_back (): Este modificador remove os elementos do vetor da parte de trás.
- vector :: erase (): é usado para remover uma série de elementos do local especificado.
- vector :: clear (): remove todos os elementos do vetor.
Exemplo 1
#include#include using namespace std;int main(){vector 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;}
Resultado:
Aqui está uma captura de tela do código:
Explicação do código:
- Inclua o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
- Inclua o arquivo de cabeçalho do vetor 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 denominado nums para armazenar um conjunto de inteiros.
- Crie um loop 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 na parte de 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, do início ao último elemento. Observe que estamos usando os iteradores vector :: begin () e vector :: end ().
- Imprima os valores apontados pela variável do iterador an 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 dos números do vetor, do início ao último elemento. Observe que estamos usando os iteradores vector :: cbegin () e vector :: cend ().
- Imprima os valores apontados pela variável do iterador a no console para cada iteração.
- A função principal deve retornar um valor se o programa for executado com êxito.
- Fim do corpo da função main ().
Exemplo 2
#include#include using namespace std;int main(){vector 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();}
Resultado:
Aqui está uma captura de tela do código:
Explicação do código:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho de vetor 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 de seu corpo.
- O início do corpo da função main ().
- Declare um vetor denominado nums para armazenar alguns valores inteiros.
- Armazene 5 elementos nos números do vetor. Cada um com um valor de 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 dos números do vetor.
- Declare uma variável inteira n para armazenar o tamanho dos números do vetor.
- Imprime o último valor dos números do vetor junto com outro texto. Ele deve retornar 2.
- Remova o último elemento dos números do vetor. Os 2 serão removidos.
- Imprima 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 dos números do vetor.
- Imprime o primeiro valor dos números do vetor junto com outro texto. Ele deve retornar 7.
- Exclua todos os elementos dos números do vetor.
- Imprima o tamanho do vetor num junto com outro texto após limpar todo o conteúdo. Ele deve retornar 0.
- Fim do corpo da função main ().
Capacidade
Use as seguintes funções para determinar a capacidade de um vetor:
- Size () - retorna o número de itens em um vetor.
- Max_size () -Retorna o maior número de itens que um vetor pode armazenar.
- Capacity () -Retorna a quantidade de espaço de armazenamento alocado para um vetor.
- Resize () - redimensiona o contêiner para conter n itens. Se o tamanho atual do vetor for maior que n, os itens anteriores serão removidos do vetor. Se o tamanho atual do vetor for menor que n, itens extras serão adicionados à parte de trás do vetor.
- Empty () -i t retorna verdadeiro se um vetor estiver vazio, caso contrário, retorna falso.
Exemplo 3
#include#include using namespace std;int main() {vector 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"< Resultado:
Aqui está uma captura de tela do código:
Explicação do código:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar sua função.
- Inclua o arquivo de cabeçalho de vetor 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 denominado vector1 para armazenar inteiros.
- Use um loop for para criar a variável x com valores de 1 a 10.
- Empurre os valores da variável x para o 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 ao lado de 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 definir o que fazer se o vetor estiver vazio.
- Texto a ser impresso no console se o vetor estiver vazio.
- O programa deve retornar um valor após a conclusão bem-sucedida.
- Fim do corpo da função main ().
Resumo:
- Um vetor C ++ é um array dinâmico capaz de se redimensionar automaticamente quando um elemento é adicionado ou excluído dele.
- O armazenamento de um vetor é feito automaticamente pelo contêiner.
- Os elementos de um vetor são armazenados em um armazenamento contíguo para serem acessados e percorridos usando iteradores.
- A inserção de novos dados em um vetor é feita no seu final.
- A inserção de dados em um vetor leva um tempo diferencial.
- A remoção de um elemento de um vetor leva um tempo constante.
- A inserção ou exclusão de um elemento no início leva um tempo linear.
- Os vetores devem ser usados ao lidar com elementos de dados que mudam de forma consistente.
- Além disso, você pode usar vetores se o tamanho dos dados não for conhecido antes de começar.