Neste artigo, exploraremos os principais recursos de vetores Em C ++, incluindo como declará -los e inicializar, como adicionar e remover elementos, como acessar elementos individuais e como trabalhar com vetores usando iteradores.
O que são vetores em C++
Vetores Em C ++ são contêineres poderosos e dinâmicos que fornecem uma estrutura semelhante a uma matriz, com a capacidade de redimensionar em tempo de execução. Eles oferecem alocação de memória flexível e fornecem armazenamento eficiente para uma coleção de elementos. Vetores pode ser inicializado com vários valores, e os elementos podem ser facilmente adicionados ou removidos. Além disso, vetores Forneça vários métodos para acessar e manipular seus elementos, incluindo o uso de iteradores.
Vetores estão incluídos no arquivo de cabeçalho da biblioteca padrão C ++ e deve ser declarado antes de incluir vetores Nos programas C ++.
Declaração de um vetor em C++
Em C ++, um vetor é declarado através da seguinte sintaxe:
vetornome variável;
Aqui o tipo de dados é o tipo de dados que o vetor conterá, enquanto nome variável é o nome do vetor que você deseja criar. Vamos entender com um exemplo:
#incluir
#incluir
usando namespace std;
int main ()
vetorMyVector;
// Adicione alguns elementos ao vetor
MyVector.push_back (1);
MyVector.push_back (2);
MyVector.push_back (3);
MyVector.push_back (4);
cout << "Elements of the vector: ";
para (int i = 0; i < myVector.size(); i++)
cout << myVector[i] << " ";
cout << endl;
retornar 0;
Saída
Neste exemplo, um vetor chamado MyVector é criado para armazenar números inteiros. Quatro números inteiros são adicionados ao vetor usando a função push_back (). Em seguida, usando um loop iterado sobre os elementos do vetor e exibi -los usando o operador de índice [].
Funções de vetores em c++
Além das funções de membro para adicionar, remover e manipular elementos no vetor, Os vetores C ++ também suportam várias outras categorias de funções, que são:
Vamos ver esses exemplos de função um por um.
1: Capacidade
Funções de capacidade em C ++ são usados para gerenciar o tamanho e a capacidade de um vetor. Essas funções permitem obter informações sobre o tamanho e a capacidade atual do vetor, além de ajustar o tamanho e a capacidade de acordo com o seu requisito.
A tabela a seguir mostra as funções amplamente usadas ao lidar com a capacidade de um vetor.
capacidade() | Isso nos dá a capacidade total mantida por um vetor no tempo de execução. |
tamanho() | A função de tamanho nos dá o número total de elementos mantidos por um determinado vetor. |
redimensionar () | Use para redimensionar os elementos do contêiner. |
tamanho máximo() | Retorna o elemento de valor mais alto de um vetor. |
A seguir, é apresentado um exemplo de um programa C ++ que ilustra o funções de capacidade em c++.
#incluir
#incluir
usando namespace std;
int main ()
vetora;
a.push_back (1);
a.push_back (2);
a.push_back (3);
a.push_back (4);
a.push_back (5);
a.push_back (6);
cout<<"Vector before resizing :";
para (int i = 0; i < a.size(); i++)
cout<
cout<a.redimensionar (4);
cout<<"Vector after resizing :";
para (int i = 0; i < a.size(); i++)
cout<
cout << "\nCapacity: " << a.capacity();
cout << "\nSize: " << a.size();
cout << "\nMax_Size: " << a.max_size();
retornar 0;
O código acima criou um vetor a e adicionou elementos a ele usando um loop para retrocesso função. Depois disso, usou as funções de capacidade capacidade(), tamanho(), e tamanho máximo() Para imprimir informações sobre a capacidade, tamanho e tamanho máximo do vetor, respectivamente. O código também usou o redimensionar () função para reduzir o tamanho do vetor para 4 e imprime o novo tamanho usando tamanho().
Saída
2: Acesso ao elemento
Acesso ao elemento Nos vetores C ++ refere -se à capacidade de ler e modificar os elementos individuais de um vetor por seu índice. Existem várias funções em C ++ que fornecem acesso a elementos aos vetores:
frente() | Retorne o elemento inicial de um vetor |
voltar() | Dê -nos o elemento final do vetor atual |
no() | em (a): fornece uma referência ao elemento no vetor no ponto "a" |
Um exemplo de um programa C ++ de Função de acesso a elementos é dado abaixo:
#incluir
#incluir
usando namespace std;
int main ()
vetora;
int n, b;
cout<<"Please Enter Size of vector: ";
CIN >> n;
cout<<"Enter vector Elements one by one:\n";
para (int i = 1; i<=n;i++)
CIN >> b;
a.push_back (b);
cout<<"\nVector Value at Position 2: "<cout<<"\nFirst element of the vector: "< cout<<"\nLast element of the vector: "< retornar 0;
O código acima criou um vetor a e levou o usuário a inserir o tamanho do vetor e seus elementos. Então usou o retrocesso() função para adicionar os elementos ao vetor e exibir o valor no índice 2 usando o no() função. O código também usou o frente() e voltar() funções para exibir o primeiro e o último elementos do vetor, respectivamente.
Saída
3: Modificadores
Modificadores são funções que permitem alterar o conteúdo de um vetor, adicionando ou removendo elementos. Existem várias funções de modificador disponíveis nos vetores C ++ fornecidos na tabela a seguir:
atribuir() | Adiciona novos elementos a um determinado lugar. |
retrocesso() | Força os componentes em uma direção de trás. |
trocar() | Ao usar outro vetor do mesmo tipo, os elementos de dados de uma única mudança de vetor. |
claro() | É utilizado para eliminar todos os componentes do objeto vetorial. |
Um exemplo de código C ++ por uso de modificadores.
#incluir
#incluir
usando namespace std;
int main ()
vetora;
a.atribuir (3, 5);
cout << "Elements of Vectors are: ";
para (int i = 0; i < a.size(); i++)
cout << a[i] << " ";
vetorVEC1, VEC2;
VEC1.push_back (1);
VEC1.push_back (2);
VEC2.push_back (3);
VEC2.push_back (4);
cout << "\n\nVector number 1: ";
para (int i = 0; i < vec1.size(); i++)
cout << vec1[i] << " ";
cout << "\nVector number 2: ";
para (int i = 0; i < vec2.size(); i++)
cout << vec2[i] << " ";
// swaps v1 e v2
VEC1.troca (VEC2);
cout << "\nAfter Swap Vector Elements \nVector number 1: ";
para (int i = 0; i < vec1.size(); i++)
cout << vec1[i] << " ";
cout << "\nVector number 2: ";
para (int i = 0; i < vec2.size(); i++)
cout << vec2[i] << " ";
No código acima, o atribuir() A função é usada para atribuir um valor a um elemento vetorial. Em seguida, dois vetores são criados e seus elementos são impressos usando um loop. Em seguida, o trocar() A função é usada para trocar os elementos dos dois vetores. Finalmente, os elementos dos dois vetores são impressos novamente após a troca usando loops.
Saída
4: Iteradores
Em C ++, os iteradores se comportam como ponteiros que permitem acessar o elemento dos vetores sequencialmente. Os iteradores basicamente tornam a execução do programa mais eficiente. A tabela a seguir apresenta a descrição das funções usadas nos iteradores.
começar() | Apontando para o primeiro valor para o iterador de um vetor em c++. |
fim() | Retorna o último elemento apontando para a posição final do vetor para o iterador. |
próximo() | Retorna o novo iterador ao qual o iterador apontaria se as posições especificadas em seus parâmetros fossem avançadas. |
Exemplo de código com iteradores é dado abaixo:
#incluir
#incluir
#incluir
usando namespace std;
int main ()
vetora = 3, 4, 5, 6, 7;
vetor:: iterador p = a.começar();
vetor:: iterador f = a.fim();
cout << "The position of iterator using begin() : ";
cout << *p << " ";
cout << endl;
auto z = próximo (p, 3);
cout << "Itrator new position using next() : ";
cout << *z << " ";
retornar 0;
O código acima declarou um vetor "A" com valores e inicializa dois iteradores até o início e o final do vetor usando "começar()" e "fim()" funções, respectivamente. Então usou o "próximo()" função para avançar o iterador em 3 posições e imprimiu o valor na nova posição do iterador.
Saída
Conclusão
Vetores Em C ++ são estruturas de dados versáteis e dinâmicas que fornecem maneiras eficientes e flexíveis de armazenar e manipular coleções de dados. Com sua capacidade de redimensionar dinamicamente e acessar com eficiência elementos, eles são uma ferramenta poderosa para uma variedade de tarefas de programação. Se você está trabalhando em projetos simples ou complexos, compreensão vetores e seus recursos podem ajudá -lo a escrever um código mais eficiente e eficaz.