gpt4 book ai didi

c++ - 如何从双端队列中删除随机元素

转载 作者:行者123 更新时间:2023-11-28 02:52:20 26 4
gpt4 key购买 nike

在我的项目中,我使用带有对象双端队列的 STL 库。该程序应该删除某些满足条件的对象变量,但是每当一个元素满足要删除的要求时,程序就必须中止。这是我的程序的简化版本

int main(){
deque<Cars> card;
deque<Cars> iterator::iter
int count=0;
Cars car(14,15);
card.push_front(car);
Cars car(12,45);
card.push_front(car);
Cars car(15,60);
card.push_front(car);
Cars car(20,45)
card.push_front(car);
for(iter=card.begin();iter!=card.end();iter++){
if(iter->getnum2()==60){
card.erase(card.begin()+count);

}
count=count+1;

}
return 0;

}

请注意我必须在此使用双端队列,在此示例中,我正在制作 iter get 的 getnum2 适用于我制作的每个汽车对象的第二个数字。

最佳答案

你可以试试这段代码:

for ( iter = card.begin(); iter != card.end() ; )
(iter->getnum2() == 60) ? iter = card.erase(iter) : ++iter;

关于c++ - 如何从双端队列中删除随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22774295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com