C++ Deque erase()函数
C++ Deque erase() 函数从指定的位置或范围中删除元素,这有效地减少了deque的大小,减去了被删除的元素的数量。
语法
iterator erase(iterator pos);
iterator erase(iterator first,iterator last);
参数
pos :它定义了要从双端队列中删除的元素的位置。
(first,last) :它定义了要删除的元素所在的双端队列范围。
返回值
它返回一个迭代器,指向函数删除的最后一个元素后面的元素。
示例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<<'\n';
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
示例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<<'\n';
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 ,