如何将C ++队列的前端项目移到后面?

时间:2015-09-07 19:51:37

标签: c++ stl queue

假设我有以下队列:

ii = 1 >> 4 7 11 13 95 2  
ii = 2 >> 7 11 13 95 2  
ii = 3 >> 11 13 95 2 7  

和一个整数变量ii [在我的队列为空之前递增1] ..

现在我想做,
对于ii的每个奇数,我想将前面的项目移到后面。
并且对于每个偶数ii,当前前项将弹出。

假设我的队列有以下项目:2 4 7 11 13 95

throws.back() = throws.front();

我试过mail($recipient, 'Email Subject', $_POST['email']);
但它可能会删除当前的后退项目 以这种方式。谁能告诉我怎么办?

  • 感谢

3 个答案:

答案 0 :(得分:2)

要访问第一个元素,请使用

int i = throws.first(); 

要删除第一个元素,请使用

throws.pop(); 

将第一个元素移动到队列的末尾:

throws.push(throws.first());
throws.pop();

答案 1 :(得分:0)

这将解决您的问题:

do {
    if(ii % 2 == 1) {
        throws.push(throws.first());
    }
    throws.pop();
    i++;
} while(!throws.empty());

答案 2 :(得分:0)

stateFront