O que é um vetor em C ++?

Vetores são contêineres STL usados ​​para armazenar dados dinamicamente. Eles também são considerados como a representação dinâmica de arrays, com a capacidade de aumentar ou diminuir seu tamanho automaticamente dependendo da inserção e exclusão dos elementos. Assim como sua contraparte estática, ele pode armazenar apenas uma única entidade em um único índice. Ambos os processos de inserção e exclusão ocorrem do último índice ao primeiro índice. Embora a exclusão demore um tempo constante, a inserção de um elemento pode levar um tempo diferencial, pois o vetor precisa se redimensionar após a adição do elemento.

Assim como outros contêineres STL, a classe vetorial também fornece várias funções-membro. Essas funções fazem parte de três subcategorias:

  • Iteradores
  • Capacidade
  • Modificadores

1. Iteradores: funções do iterador são aquelas funções que permitem iterar mover através de um contêiner de vetor. A seguir estão os tipos de iteradores fornecidos por um vetor C ++:

begin (), end (), rbegin (), rend (), cbegin (), cend (), crbegin (), crend ​​().

2. Capacidade: Essas funções-membro do vetor C ++ lidam com o tamanho e a capacidade de um contêiner de vetor. A seguir estão os tipos de capacidade fornecidos pelo vetor C ++:

size (), max_size (), capacity (), resize (n), empty (), shrink_to_fit (), reserve ().

3. Modificadores: funções modificadoras são as funções que modificam um contêiner de vetor, como remover um elemento, excluir e assim por diante. A seguir estão os tipos de modificadores fornecidos pelo vetor C ++:

assign (), push_back (), pop_back (), insert (), erase (), swap (), clear (), emplace (), emplace_back ().

Sintaxe

A sintaxe para declarar um vetor em C ++ é:

vetor nome_do_vetor (tamanho)

Descrição da sintaxe

  • Palavra-chave “vetor”: a palavra-chave “vetor” é fornecida no início para declarar um vetor em C ++ .
  • type: este parâmetro é o tipo de dados dos elementos que serão armazenados no vetor.
  • vector_name: Este é o nome da variável do vetor especificada pelo usuário.
  • size: Este é um parâmetro opcional que especifica o tamanho do vetor.

Exemplos de vetores

O programa a seguir verifica se o vetor contém um elemento duplicado. E retorna verdadeiro se contiver o elemento duplicado; caso contrário, retorna falso.

#include

usando namespace std;

//função para verificar se o vetor

//contém um elemento duplicado ou não

bool containsDuplicate (vetor & nums)

{

//verifique se o vetor está vazio

if (nums.empty ())

return false;

//classificar o vetor

sort (nums.begin (), nums.end ());

int i=0;

int j=i + 1;

while (j

{

//verifique se o elemento atual

//não é igual ao seu sucessor

if (nums [i]!=nums [j])

{

i ++;

j ++;

}

outro

return true;

}

return false;

}

int main ()

{

vetor nums {2, 3, 5, 1, 2, 4};

//imprime elementos do vetor

cout <<"Os elementos do vetor são";

para (int x: nums)

cout <

cout <

//imprimir o resultado

if (containsDuplicate (nums))

cout <<"O vetor contém um elemento duplicado";

outro

cout <<"O vetor não contém um elemento duplicado";

}

Initialize_Vector_In_C_Plus_Plus_1

No programa descrito acima, a função duplicada verifica se há elementos duplicados no vetor. A função retorna falso se o vetor estiver vazio, pois um vetor vazio não pode conter um elemento duplicado. Se o elemento não estiver vazio, você precisará classificar o vetor para que todas as duplicatas sejam reordenadas em correspondência com seus originais. Depois disso, você precisa iterar o vetor para verificar se dois elementos sucessivos são iguais. Se for assim, a função retorna verdadeiro; caso contrário, você obtém falso como a instrução de retorno.

Treinamento de certificação Java GRATUITO

Aprenda AZ do Java como nunca antes Inscreva-se agora
Treinamento de certificação Java GRATUITO

Inicializando um vetor em C ++

O vetor em C ++ armazena a referência dos objetos e não os dados diretamente. Esses objetos podem ser de qualquer tipo de dados , como inteiro, char, string, etc. Ao contrário dos contêineres estáticos, como uma matriz, um vetor não precisa de um tamanho para ser inicializado. Você pode inicializar um vetor sem definir o tamanho do contêiner, pois ele pode aumentar ou diminuir seu tamanho dinamicamente.

Você pode inicializar um vetor de 6 maneiras diferentes e agora irá explorar todas essas maneiras em detalhes na próxima seção. Estas 6 maneiras são:

  • Usando o método push_back () para inserir valores no vetor.
  • Usando o construtor sobrecarregado.
  • Passando uma matriz para o construtor de vetor.
  • Usando uma matriz existente.
  • Usando um vetor existente.
  • Usando o método fill ().

Maneiras de inicializar um vetor em C ++

As seguintes maneiras diferentes podem ser usadas para inicializar o vetor em C ++:

  • Usando o método push_back () para inserir valores no vetor

O método push_back () do vetor de classe é usado para empurrar ou inserir elementos em um vetor. Ele insere cada novo elemento no final do vetor e o tamanho do vetor é aumentado em 1.

Sintaxe

vector_name.push_back (dados)

vector_name é o nome do vetor. O método push_back () aceita um elemento e o insere no final do vetor.

Exemplo

Considere um vetor v1.

Entrada: v1.push_back (100)

v1.push_back (200)

v1.push_back (300)

Saída: o vetor resultante é:

100 200 300 com tamanho 3.

Entrada: v1.push_back (1)

v1.push_back (2)

Saída: o vetor resultante é:

100 200 300 1 2 com tamanho 5.

O programa a seguir ilustra como inicializar um vetor em C ++ usando o método push_back ():

#include

#include

usando namespace std;

int main () {

//declara um vetor

vetor v1;

//inicializar o vetor usando push_back ()

v1.push_back (100);

v1.push_back (200);

v1.push_back (300);

v1.push_back (1);

v1.push_back (2);

cout <<"Os elementos do vetor são: \ n";

//vetor transversal

para (int i=0; i

{

//imprime os elementos do vetor

cout <

}

return 0;

}

Initialize_Vector_In_C_Plus_Plus_2

Etapas

  1. Declare um vetor v1.
  2. Inicialize o vetor usando o método push_back (). Insira os elementos do vetor um por um
  3. Percorra o vetor
  4. Imprima os elementos do vetor
  • Usando o construtor sobrecarregado

O construtor sobrecarregado também pode ser usado para inicializar vetores em C ++. Este construtor aceita dois parâmetros. O tamanho do vetor e o valor a ser inserido são fornecidos durante a inicialização do vetor. O valor fornecido será inserido no vetor várias vezes (igual ao tamanho fornecido do vetor).

Sintaxe

vector vector_name (tamanho, dados)

O parâmetro size é o número de elementos a serem inseridos no vetor (ou simplesmente o tamanho do vetor) e os dados são o valor a ser inserido.

Exemplo

Entrada: vetor v1 (5, 2)

Saída: o vetor resultante será:

2 2 2 2 2

Entrada: vetor v2 (4, 1)

Saída: o vetor resultante será:

1 1 1 1

O programa a seguir ilustra como inicializar um vetor em C ++ usando o construtor sobrecarregado:

#include

#include

usando namespace std;

int main ()

{

//inicializar o tamanho

tamanho interno=5;

//inicializar o vetor usando o construtor sobrecarregado

vetor v1 (tamanho, 2);

//imprime os elementos do vetor

cout <<"O vetor v1 é: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n";

//inicializar o vetor v2

vetor v2 (4, 1);

//imprime elementos do vetor v2

cout <<"\ nO vetor v2 é: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

return 0;

}

Initialize_Vector_In_C_Plus_Plus_3.

Etapas

  1. Inicialize o tamanho do vetor
  2. Inicialize o vetor usando o construtor sobrecarregado, especificando o tamanho e o valor a ser inserido
  3. Percorra o vetor
  4. Imprima os elementos do vetor
  • Passando uma matriz para o construtor de vetores

Outra maneira de inicializar um vetor em C ++ é passar um array de elementos para o construtor de classe de vetor. Os elementos da matriz serão inseridos no vetor na mesma ordem, e o tamanho do vetor será ajustado automaticamente.

Sintaxe

vetor nome_do_vetor {matriz de elementos}

Você passa a matriz de elementos para o vetor no momento da inicialização.

Exemplo

Entrada: vetor v1 {10, 20, 30, 40, 50}

Saída: o vetor resultante será:

10 20 30 40 50

Entrada: vetor v2 {‘a’,’b’,’c’,’d’,’e’}

Saída: o vetor resultante será:

a b c d e

O programa a seguir ilustra como inicializar um vetor em C ++ passando uma matriz para o construtor da classe de vetor:

#include

#include

usando namespace std;

int main ()

{

//passe um array de inteiros para inicializar o vetor

vetor v1 {10, 20, 30, 40, 50};

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

//passe uma matriz de caracteres para inicializar o vetor

vetor v2 {‘a’,’b’,’c’,’d’,’e’};

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

return 0;

}

Initialize_Vector_In_C_Plus_Plus_4.

Etapas

  1. Declare um vetor
  2. Inicialize o vetor. Passe uma matriz de elementos para o construtor da classe de vetor
  3. Percorra o vetor
  4. Imprima os elementos do vetor
  • Usando uma matriz existente

Esta é uma das maneiras mais padrão de inicializar vetores em C ++ de maneira elegante. Você pode inicializar um vetor usando uma matriz que já foi definida. Você precisa passar os elementos da matriz para o construtor do iterador da classe vetorial.

Sintaxe

data_type array_name [n]={1,2,3};

vetor vector_name (arr, arr + n)

A matriz de tamanho n é passada para o construtor do iterador da classe de vetor.

Exemplo

Entrada: int a1 [5]={10, 20, 30, 40, 50}

vetor v1 (a1, a1 + 5)

Saída: o vetor resultante será:

10 20 30 40 50

Entrada: char a2 [5]={‘a’,’b’,’c’,’d’,’e’}

vetor v2 (a2, a2 ​​+ 5)

Saída: o vetor resultante será:

a b c d e

O programa a seguir ilustra como passar uma matriz existente para o construtor do iterador da classe de vetor para inicializar um vetor em C ++:

#include

#include

usando namespace std;

int main ()

{

//inicializa uma matriz de inteiros

int a1 [5]={10, 20, 30, 40, 50};

//inicializar vetor

vetor v1 (a1, a1 + 5);

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

//inicializar um array de char

char a2 [5]={‘a’,’b’,’c’,’d’,’e’};

vetor v2 (a2, a2 ​​+ 5);

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

return 0;

}

Initialize_Vector_In_C_Plus_Plus_5.

Curso Full Stack Web Developer

Para se tornar um especialista em MEAN Stack Ver Curso

Full Stack Web Developer Course

Etapas

  1. Inicialize uma matriz
  2. Passe a matriz para o construtor do iterador da classe de vetor para inicializar o vetor
  3. Percorra o vetor
  4. Imprima os elementos do vetor
  • Usando um vetor existente

O construtor de intervalo da classe vetorial também pode ser usado para inicializar um vetor. Você passa os iteradores de um vetor existente para o construtor para especificar o intervalo dos elementos a serem inseridos no novo vetor.

Sintaxe

vector vector_name (iterator_first, iterator_last)

Aqui, você deve passar os iteradores apontando para o vetor existente para o construtor, para inicializar o novo vetor. Os elementos que estão no intervalo passado como argumentos são inseridos no novo vetor.

Exemplo

Entrada: vetor v1 {10, 20, 30, 40, 50};

vetor v2 (v1.begin (), v1.end ())

Saída: o vetor resultante será:

10 20 30 40 50

Entrada: vetor v1 {10, 20, 30, 40, 50};

vetor v2 (v1.begin (), v1.begin () + 3)

Saída: o vetor resultante será:

10 20 30

O programa a seguir ilustra como inicializar um vetor em C ++ usando um vetor existente:

#include

#include

usando namespace std;

int main ()

{

//inicializar um vetor

vetor v1 {10, 20, 30, 40, 50};

//inicializar vetores usando o construtor de intervalo

vetor v2 (v1.begin (), v1.end ());

vetor v3 (v1.begin (), v1.begin () + 3);

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

return 0;

}

Initialize_Vector_In_C_Plus_Plus_6

Etapas

  1. Inicialize um vetor usando qualquer um dos métodos discutidos acima
  2. Passe os iteradores deste vetor (especificando o intervalo) para o construtor de intervalo do novo vetor
  3. Percorra o vetor
  4. Imprima os elementos do vetor
  • Usando o método fill ()

A função fill (), como o nome sugere, preenche ou atribui todos os elementos no intervalo especificado ao valor especificado. Este método também pode ser usado para inicializar vetores em C ++.

Sintaxe

preencher (início, fim, valor)

A função fill () aceita três parâmetros de iteradores iniciais e finais do intervalo e o valor a ser preenchido. O início do iterador está incluído no intervalo, enquanto o final do iterador não está incluído.

Exemplo

Considere os vetores v1 e v2 de tamanho 5.

Entrada: preencher (v1.begin (), v1.end (), 6)

Saída: o vetor resultante será:

6 6 6 6 6

Entrada: fill (v2.begin () + 2, v2.begin () + 4, 6)

Saída: o vetor resultante será:

0 0 6 6 0

O programa a seguir ilustra como inicializar um vetor em C ++ usando a função fill ():

#include

#include

usando namespace std;

int main ()

{

//declara um vetor

vetor v1 (5);

//inicializar o vetor usando o método fill ()

preencher (v1.begin (), v1.end (), 6);

//declara outro vetor

vetor v2 (5);

//inicializar v2

preencher (v2.begin () + 2, v2.begin () + 4, 6);

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

//imprime elementos do vetor

cout <<"Os elementos do vetor são: \ n";

para (int i=0; i

{

cout <

}

cout <<"\ n \ n";

return 0;

}

Initialize_Vector_In_C_Plus_Plus_7

Etapas

  1. Declare um vetor
  2. Passe o intervalo e o valor para a função fill () para inicializar o vetor
  3. Percorra o vetor
  4. Imprima os elementos do vetor

Avance sua carreira como desenvolvedor MEAN stack com o Desenvolvedor Web Full Stack-Programa MEAN Stack Master . Inscreva-se agora!

Considerações finais!

Este artigo o guiou pelos meandros dos vetores em c ++ e como inicializá-los. Você olhou alguns exemplos comuns de vetores e seis maneiras diferentes de inicializar vetores. Para nomear alguns deles, você pode inicializar vetores usando o método push_back (), usando um construtor sobrecarregado, uma matriz existente ou um vetor, usando o método fill (), etc. Você olhou as etapas e exemplos de todos esses métodos para inicializar vetores.

Se quiser aprender mais sobre os conceitos básicos da linguagem de programação C ++, você pode verificar o guia do Simplilearn em Programação C ++ para iniciantes .

Você também pode obter uma visão geral completa das tecnologias usadas no desenvolvimento de software full stack por meio de nosso curso em Desenvolvimento Web Full Stack . Este curso é ministrado por especialistas do setor e irá guiá-lo por algumas das tecnologias mais populares, como DevOps , Agile , AWS , Java , HTML , etc.

Você também deve verificar alguns de nossos cursos online gratuitos .

Se você tiver dúvidas ou sugestões para nós, mencione-as na caixa de comentários e nossos especialistas responderão para você o mais rápido possível.

Boa aprendizagem!

Categories: Wordpress