O tamanho do vetor pode ser reduzido usando diferentes funções integradas do C ++. A função pop_back () é uma delas. É usado para remover o último elemento do vetor da parte de trás e reduzir o tamanho do vetor em 1. Mas o último elemento do vetor não é removido permanentemente como a função erase (). Os diferentes usos desta função foram explicados neste tutorial.
Sintaxe:
vetor::pop_back();Esta função não tem nenhum argumento e não retorna nada.
Pré-requisito:
Antes de verificar 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 ++. As maneiras de reduzir o tamanho do vetor usando a função pop_back () são mostradas na próxima parte deste tutorial.
Exemplo-1: remover vários elementos do vetor
Crie um arquivo C ++ com o código a seguir para remover dois elementos do contêiner de vetor, reduzindo o tamanho do vetor usando a função pop_back (). Um vetor de 5 valores de string foi declarado no código. A função pop_back () foi chamada duas vezes aqui para remover os dois últimos elementos do vetor temporariamente e reduzir o tamanho do vetor em 2. O conteúdo do vetor foi impresso duas vezes antes e depois de usar a função pop_back ().
// Incluir bibliotecas necessárias
#incluir
#incluir
usando namespacehoras;
inta Principal() {
// Declara um vetor de valores de string
vetor<fragmento>flores= {'Rosa','Lity','Marigold','Tulipa','Água Liiy'};
custo << 'Os valores do vetor: n';
// Iterar o vetor usando loop para imprimir os valores
para(inteu= 0;eu<flores.Tamanho(); ++eu)
custo <<flores[eu] << '';
custo << ' n';
// Remova os dois últimos valores do vetor
flores.pop_back();
flores.pop_back();
custo << ' nOs valores do vetor após a remoção: n';
// Iterar o vetor usando loop para imprimir os valores
para(inteu= 0;eu<flores.Tamanho(); ++eu)
custo <<flores[eu] << '';
custo << ' n';
Retorna 0;
}
Saída:
A seguinte saída aparecerá após a execução do código acima.
Exemplo 2: Criar um novo vetor a partir de outro vetor
Crie um arquivo C ++ com o código a seguir para inserir valores específicos em um vetor vazio de outro vetor, removendo os elementos usando a função pop_back (). Um vetor de 8 números inteiros e um vetor vazio do tipo inteiro foram declarados no código. O loop ‘while’ foi usado para iterar cada elemento do primeiro vetor e inserir o elemento no novo vetor se o número for divisível por 2. A soma de todos os números pares também foi calculada aqui. Cada elemento do primeiro vetor será removido pela função pop_back () em cada iteração do loop para atingir a condição de término do loop.
// Incluir bibliotecas necessárias
#incluir
#incluir
usando namespacehoras;
inta Principal()
{
// Declara um vetor de dados inteiros
vetor<int>intVector{ 5,9,4,7,2,8,1,3 };
// Declara um vetor vazio
vetor<int>newVector;
custo << 'Os valores do vetor original: n';
// Iterar o vetor usando loop para imprimir os valores
para(inteu= 0;eu<intVector.Tamanho(); ++eu)
custo <<intVector[eu] << '';
custo << ' n';
// Inicialize o resultado
intresultado= 0;
// Repita o loop até que o vetor fique vazio
enquanto(!intVector.vazio())
{
/ *
Descubra os números pares para inserir no novo vetor
e calcular a soma dos números pares
* /
E se (intVector.de volta() % 2 == 0)
{
resultado+=intVector.de volta();
newVector.retrocesso(intVector.de volta());
}
// Remova o elemento do final do intVactor
intVector.pop_back();
}
custo << 'Os valores do novo vetor: n';
// Iterar o vetor usando loop para imprimir os valores
para(inteu= 0;eu<newVector.Tamanho(); ++eu)
custo <<newVector[eu] << '';
custo << ' n';
custo << 'A soma de todos os números pares:' <<resultado<< ' n';
Retorna 0;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. Havia três números pares no primeiro vetor. Existem 8, 2 e 4.
Exemplo-3: Verifique se o último elemento do vetor foi removido ou não
Mencionamos anteriormente que pop_back () não remove os elementos permanentemente do vetor, e remove o elemento reduzindo apenas o tamanho do vetor. Assim, o elemento removido permanece na mesma posição até que o tamanho do vetor aumente e substitua o elemento por outro elemento. Crie um arquivo C ++ com o seguinte código para verificar se o elemento removido pela função pop_back () existe ou não. A última posição do vetor original foi impressa antes e depois de usar a função pop_back ().
#incluir#incluir
usando namespacehoras;
inta Principal()
{
// Declara um vetor de dados inteiros
vetor<int>intVector{ 54,19,46,72,22,83,10,53 };
// Declara um vetor vazio
vetor<int>newVector;
// Declara uma variável inteira
intcomprimento;
// Imprime o último elemento com base no tamanho do vetor
comprimento=intVector.Tamanho();
custo << 'O tamanho atual do vetor:' <<comprimento<< ' n';
custo << 'O último valor do vetor antes de remover:' <<intVector[comprimento-1] << ' n';
// Remova o elemento do final do vetor
intVector.pop_back();
// Imprime o último elemento com base no tamanho do vetor após remover
comprimento=intVector.Tamanho();
custo << 'O tamanho atual do vetor:' <<comprimento<< ' n';
custo << 'O último valor do vetor após a remoção:' <<intVector[comprimento] << ' n';
Retorna 0;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. A saída mostra que o tamanho do vetor é reduzido em 1, mas o elemento da última posição do vetor original ainda existe.
Conclusão:
Três usos diferentes da função pop_back () foram descritos neste tutorial usando exemplos simples. O objetivo principal de usar esta função será esclarecido para os leitores após praticarem os exemplos deste tutorial.