C ++ Deque delete()函數(shù)從指定的位置或范圍中刪除元素,通過(guò)刪除的元素?cái)?shù)量有效地減少了雙端隊(duì)列的大小。
iterator erase(iterator pos); iterator erase(iterator first,iterator last);
pos:它定義從雙端隊(duì)列中刪除元素的位置。
(first,last):它定義了雙端隊(duì)列的范圍,在此范圍之間要?jiǎng)h除的元素。
它返回一個(gè)迭代器,該迭代器指向該函數(shù)刪除的最后一個(gè)元素之后的元素。
讓我們看一個(gè)簡(jiǎn)單的示例,該示例將某個(gè)范圍內(nèi)的元素刪除。
#include <iostream>
#include<deque>
using namespace std;
int main()
{
deque<int> d={1,2,3,4};
deque<int>::iterator itr;
cout<<"雙端隊(duì)列的內(nèi)容:";
for(itr=d.begin();itr!=d.end();++itr)
cout<<*itr<<" ";
cout<<'\n';
d.erase(d.begin()+1,d.begin()+2);
cout<<"刪除第二和第三元素后,雙端隊(duì)列的內(nèi)容:";
for(itr=d.begin();itr!=d.end();++itr)
cout<<*itr<<" ";
return 0;
}輸出:
雙端隊(duì)列的內(nèi)容:1 2 3 4 刪除第二和第三元素后,雙端隊(duì)列的內(nèi)容:1 3 4
讓我們看一個(gè)簡(jiǎn)單的實(shí)例,當(dāng)元素在指定位置被移除時(shí)
#include <iostream>
#include<deque>
using namespace std;
int main()
{
deque<string> str={"mango","apple","strawberry","kiwi"};
deque<string>::iterator itr;
cout<<"雙端隊(duì)列的內(nèi)容:";
for(itr=str.begin();itr!=str.end();++itr)
cout<<*itr<<" ,";
str.erase(str.begin()+2);
cout<<'\n';
cout<<"現(xiàn)在,雙端隊(duì)列的內(nèi)容:";
for(itr=str.begin();itr!=str.end();++itr)
cout<<*itr<<" ,";
return 0;
}輸出:
雙端隊(duì)列的內(nèi)容:mango ,apple ,strawberry ,kiwi , 現(xiàn)在,雙端隊(duì)列的內(nèi)容:mango ,apple ,kiwi ,