大家好!需要从双端队列中删除元素。我使用另一个双端队列将所有元素推送到那里,除了被删除的元素,从而达到预期的结果,代码如下:
int main(){
deque<int> list1;
for (int i=0; i<10; i++){
list1.push_back(i);
}
deque<int> list2;
int deleteElement = 5;
for (int i=0; i<list.size(); i++){
if (list1[i] != deleteElement){
list2.push_back(list1[i]);
}
}
}
但这需要很长时间,因为我将除被删除的元素之外的所有元素复制到另一个双端队列。我的问题是,有没有更优雅的方法从双端队列中间删除一个元素?
您可以使用标准算法
remove和方法erase: