English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Uso e exemplo da função erase() do deque

C++ Deque (Fila Dupla)

C ++ A função delete() do deque remove elementos de uma posição ou faixa especificada, reduzindo eficazmente o tamanho do deque pelo número de elementos removidos.

Sintaxe

iterator erase(iterator pos);
iterator erase(iterator first,iterator last);

Parâmetro

pos:Define a posição onde os elementos serão removidos da fila dupla.

(first,last):Define o intervalo da fila dupla, onde os elementos a serem removidos estão localizados.

Retorno

Ele retorna um iterador que aponta para o elemento subsequente ao último elemento removido pelo função.

Exemplo1

Vamos olhar um exemplo simples, que remove elementos dentro de um determinado intervalo.

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<int> d={1,2,3,4};
    iterator da::itr;
    cout<<"O conteúdo do deque: ";
    for(itr=d.begin();itr!=d.end();++itr)
    cout<<*itr<<"\t";
    cout<<'\n';
    d.erase(d.begin()+1,d.begin()+2);
    cout<<"Após a remoção do segundo e terceiro elementos, o conteúdo da fila dupla:\
    for(itr=d.begin();itr!=d.end();++itr)
    cout<<*itr<<"\t";
    return 0;
}

Saída:

O conteúdo da fila dupla:1 2 3 4 
Após a remoção do segundo e terceiro elementos, o conteúdo da fila dupla:1 3 4

Exemplo2

Vamos olhar um exemplo simples, quando um elemento é removido em uma posição específica

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<string> str={"mango","apple","strawberry","kiwi"};
    iterator da::itr;
    cout<<"O conteúdo do deque: ";
    for(itr=str.begin();itr!=str.end();++itr)
    cout<<*itr<<" , ";
    str.erase(str.begin()+2);
    cout<<'\n';
      cout<<"Agora, o conteúdo do deque: ";
     for(itr=str.begin();itr!=str.end();++itr)
    cout<<*itr<<" , ";
    return 0;
}

Saída:

O conteúdo do deque: mango, apple, morango, kiwi,
Agora, o conteúdo do deque: mango, apple, kiwi,

C++ Deque (Fila Dupla)