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
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
{
//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
//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";
}
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.
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
//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;
}
Etapas
- Declare um vetor v1.
- Inicialize o vetor usando o método push_back (). Insira os elementos do vetor um por um
- Percorra o vetor
- 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
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
Saída: o vetor resultante será:
2 2 2 2 2
Entrada: vetor
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
//imprime os elementos do vetor
cout <<"O vetor v1 é: \ n";
para (int i=0; i
{
cout <
}
cout <<"\ n";
//inicializar o vetor v2
vetor
//imprime elementos do vetor v2
cout <<"\ nO vetor v2 é: \ n";
para (int i=0; i
{
cout <
}
cout <<"\ n \ n";
return 0;
}
Etapas
- Inicialize o tamanho do vetor
- Inicialize o vetor usando o construtor sobrecarregado, especificando o tamanho e o valor a ser inserido
- Percorra o vetor
- 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
Você passa a matriz de elementos para o vetor no momento da inicialização.
Exemplo
Entrada: vetor
Saída: o vetor resultante será:
10 20 30 40 50
Entrada: vetor
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
//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
//imprime elementos do vetor
cout <<"Os elementos do vetor são: \ n";
para (int i=0; i
{
cout <
}
cout <<"\ n \ n";
return 0;
}
Etapas
- Declare um vetor
- Inicialize o vetor. Passe uma matriz de elementos para o construtor da classe de vetor
- Percorra o vetor
- 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
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
Saída: o vetor resultante será:
10 20 30 40 50
Entrada: char a2 [5]={‘a’,’b’,’c’,’d’,’e’}
vetor
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
//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
//imprime elementos do vetor
cout <<"Os elementos do vetor são: \ n";
para (int i=0; i
{
cout <
}
cout <<"\ n \ n";
return 0;
}
Etapas
- Inicialize uma matriz
- Passe a matriz para o construtor do iterador da classe de vetor para inicializar o vetor
- Percorra o vetor
- 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
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
vetor
Saída: o vetor resultante será:
10 20 30 40 50
Entrada: vetor
vetor
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
//inicializar vetores usando o construtor de intervalo
vetor
vetor
//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;
}
Etapas
- Inicialize um vetor usando qualquer um dos métodos discutidos acima
- Passe os iteradores deste vetor (especificando o intervalo) para o construtor de intervalo do novo vetor
- Percorra o vetor
- 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
//inicializar o vetor usando o método fill ()
preencher (v1.begin (), v1.end (), 6);
//declara outro vetor
vetor
//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;
}
Etapas
- Declare um vetor
- Passe o intervalo e o valor para a função fill () para inicializar o vetor
- Percorra o vetor
- 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!