C++ Deque delete()函数从指定的位置或范围中删除元素,这通过删除的元素数量有效地减小了双端队列的大小。
erase - 语法
iterator erase(iterator pos); iterator erase(iterator first,iterator last);
erase - 参数
pos - 它定义了从双端队列中删除元素的位置。
(first,last) - 它定义了双端队列中要删除的元素之间的范围。
erase - 返回值
它返回一个迭代器,该迭代器指向该函数删除的最后一个元素之后的元素。
erase - 例子1
让我们看一个简单的示例,该示例将某个范围内的元素删除。
#include <iostream> #include<deque> using namespace std; int main() { deque<int> d={1,2,3,4}; deque<int>::iterator itr; cout<<"Content of deque:"; for(itr=d.begin();itr!=d.end();++itr) cout<<*itr<<" "; cout<< ; d.erase(d.begin()+1,d.begin()+2); cout<<"After erasing second and third element,Content of deque:"; for(itr=d.begin();itr!=d.end();++itr) cout<<*itr<<" "; return 0; }
输出:
Content of deque:1 2 3 4 After erasing second and third element,Content of deque:1 3 4
erase - 例子2
让我们看一个简单的例子,当元素在指定位置被移除时
#include <iostream> #include<deque> using namespace std; int main() { deque<string> str={"mango","apple","strawberry","kiwi"}; deque<string>::iterator itr; cout<<"Content of deque:"; for(itr=str.begin();itr!=str.end();++itr) cout<<*itr<<" ,"; str.erase(str.begin()+2); cout<< ; cout<<"Now,Content of deque:"; for(itr=str.begin();itr!=str.end();++itr) cout<<*itr<<" ,"; return 0; }
输出:
Content of deque:mango ,apple ,strawberry ,kiwi , Now,Content of deque:mango ,apple ,kiwi ,