English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
iterator erase(iterator pos); iterator erase(iterator first,iterator last);
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.
Ele retorna um iterador que aponta para o elemento subsequente ao último elemento removido pelo função.
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
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,