A matriz dinâmica pode ser implementada usando um vetor em C++. Os elementos podem ser adicionados ao vetor de diferentes maneiras. A função push_back() é uma das maneiras de inserir um novo elemento no final do vetor que aumenta o tamanho do vetor em 1. Esta função é útil quando é necessário adicionar um elemento ao vetor. Se o tipo de dados do vetor não suportar o valor passado pelo argumento desta função, será gerada uma exceção e nenhum dado será inserido. A forma de inserir dados em vetor usando a função push_back() foi mostrada neste tutorial.
Sintaxe:
vetor :: retrocesso ( tipo_valor substantivo ) ;O valor de n será inserido no final do vetor se o tipo de dados do vetor suportar o tipo de dados de n. Não retorna nada.
Pré-requisito:
Antes de conferir os exemplos deste tutorial, é necessário verificar se o compilador g++ está instalado ou não no sistema. Se você estiver usando o Visual Studio Code, instale as extensões necessárias para compilar o código-fonte C++ para criar o código executável. Aqui, o aplicativo Visual Studio Code foi usado para compilar e executar o código C++. Diferentes usos da função push_back() para inserir elemento(s) em um vetor serão mostrados na próxima parte deste tutorial.
Exemplo 1: Adicionando vários elementos no final do vetor
Crie um arquivo C++ com o código a seguir para inserir vários elementos no final do vetor usando a função push_back(). Um vetor de três valores de string foi definido no código. A função push_back() foi chamada três vezes para inserir três elementos no final do vetor. O conteúdo do vetor será impresso antes e depois da inserção dos elementos.
//Inclui bibliotecas necessárias
#include
#incluir
usando espaço para nome padrão ;
interno principal ( )
{
//Declara um vetor de valores de string
vetor < corda > pássaros = { 'Papagaio Cinzento' , 'Pomba Diamante' , 'Coquetel' } ;
corte << 'Os valores do vetor antes da inserção: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < pássaros. tamanho ( ) ; ++ eu )
corte << pássaros [ eu ] << ' ' ;
corte << ' \n ' ;
/*
Adicione três valores no final do vetor
usando a função push_back()
*/
pássaros. retrocesso ( Mayna ) ;
pássaros. retrocesso ( 'Periquitos' ) ;
pássaros. retrocesso ( 'Cacatua' ) ;
corte << 'Os valores do vetor após a inserção: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < pássaros. tamanho ( ) ; ++ eu )
corte << pássaros [ eu ] << ' ' ;
corte << ' \n ' ;
retornar 0 ;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. A saída mostra que três novos elementos foram inseridos no final do vetor.
Exemplo 2: Inserir valores no vetor por entrada
Crie um arquivo C++ com o código a seguir para inserir o elemento em um vetor vazio obtendo valores do usuário e usando a função push_back(). Um vetor vazio de tipo de dados inteiro foi declarado no código. Em seguida, um loop ‘for’ pega 5 números do usuário e insere os números no vetor usando a função push_back(). O conteúdo do vetor será impresso após a inserção.
//Inclui bibliotecas necessárias#include
#incluir
usando espaço para nome padrão ;
interno principal ( )
{
//Declara um vetor inteiro
vetor < interno > intVetor ;
//Declara um número inteiro
interno número ;
corte << 'Insira 5 números: \n ' ;
/*
Itere o loop 5 vezes para inserir 5 valores inteiros
no vetor usando a função push_back()
*/
para ( interno eu = 0 ; eu < 5 ; eu ++ ) {
comendo >> número ;
vetor interno. retrocesso ( número ) ;
}
corte << 'Os valores do vetor após a inserção: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < vetor interno. tamanho ( ) ; ++ eu )
corte << intVetor [ eu ] << ' ' ;
corte << ' \n ' ;
retornar 0 ;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. A saída mostra que os cinco números retirados do usuário foram inseridos no vetor.
Exemplo 3: Insira valores no vetor com base na condição específica
Crie um arquivo C++ com o código a seguir para inserir os números específicos de uma matriz inteira em um vetor vazio. Um vetor vazio e uma matriz de 10 números inteiros foram declarados no código. O loop 'for' foi usado para iterar cada valor do array e inserir o número no vetor usando a função push_back() se o número for menor que 30 ou maior que 60. O conteúdo do vetor será impresso usando o função display_vector() após a inserção.
//Inclui bibliotecas necessárias#include
#incluir
usando espaço para nome padrão ;
//Mostra o vetor
vazio display_vector ( vetor < interno > números )
{
//Imprime os valores do vetor usando loop
para ( auto ele = números. começar ( ) ; ele ! = números. fim ( ) ; ele ++ )
corte << * ele << ' ' ;
//Adiciona nova linha
corte << ' \n ' ;
}
interno principal ( )
{
//Declara um vetor inteiro
vetor < interno > intVetor ;
//Declara um array de números
interno meuArray [ 10 ] = { 9 , Quatro cinco , 13 , 19 , 30 , 82 , 71 , cinquenta , 35 , 42 } ;
/*
Itere o loop para ler cada elemento do array
e insira esses valores no vetor
que são menores que 30 e maiores que 60
usando a função push_back()
*/
para ( interno eu = 0 ; eu < 10 ; eu ++ ) {
se ( meuArray [ eu ] < 30 || meuArray [ eu ] > 60 )
vetor interno. retrocesso ( meuArray [ eu ] ) ;
}
corte << 'Os valores do vetor após a inserção:' << fim ;
display_vector ( intVetor ) ;
retornar 0 ;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. A saída mostra que os números 9, 13, 19, 82 e 71 foram inseridos no vetor.
Conclusão:
Existem muitas funções em C++ para inserir dados no início ou no final ou em qualquer posição específica do vetor, como push_front(), insert(), etc. O uso da função push_back() será apagado após a prática dos exemplos mostrados neste tutorial .