📜  C++ STL-Deque.delete()函数

📅  最后修改于: 2020-10-17 07:02:43             🧑  作者: Mango

C++双端队列擦除()

C++ Deque delete()函数从指定的位置或范围中删除元素,这通过删除的元素数量有效地减小了双端队列的大小。

句法

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

参数

pos:它定义从双端队列中删除元素的位置。

(第一,最后):它定义了双端队列的范围,在此范围之间要删除的元素。

返回值

它返回一个迭代器,该迭代器指向该函数删除的最后一个元素之后的元素。

例子1

让我们看一个简单的示例,该示例将某个范围内的元素删除。

#include 
#include
using namespace std;
int main()
{
    deque d={1,2,3,4};
    deque::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 
#include
using namespace std;
int main()
{
    deque str={"mango","apple","strawberry","kiwi"};
    deque::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 ,