当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ queue push()、pop()用法及代码示例


队列是一种以先进先出 (FIFO) 类型的排列方式运行的容器。元素在队列的后端插入,从队列的前端删除。为此,分别使用成员函数queue::push()和queue::pop()。

在本文中,我们将讨论这些 queue::pop() 和 queue()::push() 函数。

queue::push() 在 C++ 中

push()队列容器的函数用于将元素插入队列的末尾。这是一个内置函数C++标准模板库(STL)。该函数属于<queue>头文件。该元素被添加到队列容器中,并且队列的大小增加 1。

用法

queue_name.push(value)

参数

  • 要插入的元素的值作为参数传递。

结果

  • 添加一个与队列末尾传递的参数值相同的元素。

例子

Input :  myqueue
         myqueue.push(6);
Output : 6

Input :  myqueue
         myqueue.push(0);
         myqueue.push(1);
Output : 0, 1

错误和异常

  1. 如果传递的值与队列类型不匹配,则显示错误。
  2. 如果参数不抛出任何异常,则显示不抛出异常保证。

queue::push( 的示例)

CPP


// CPP program to illustrate
// Application of push() and pop() function
#include <iostream>
#include <queue>
using namespace std;
int main()
{
    // Empty Queue
    int c = 0;
    queue<int> myqueue;
    myqueue.push(5);
    myqueue.push(13);
    myqueue.push(0);
    myqueue.push(9);
    myqueue.push(4);
    // queue becomes 5, 13, 0, 9, 4
    // Counting number of elements in queue
    while (!myqueue.empty()) {
        myqueue.pop();
        c++;
    }
    cout << c;
}
输出
 0 1 2

时间复杂度:O(1)(队列pop()操作需要恒定的时间复杂度。)

Note: Here, output is printed on the basis of FIFO property.

queue::pop() 在 C++ 中

队列容器的pop()函数用于从队列的前面删除一个元素(队列中最旧的元素)。这是 C++ 标准模板库 (STL) 的内置函数。该函数属于<queue>头文件。该元素从队列容器中删除,队列大小减 1。

用法

queue_name.pop()

参数

  • 没有传递参数

结果

  • 删除队列中最旧的元素或本质上是最前面的元素。

例子:

Input    :  myqueue = 1, 2, 3
                myqueue.pop();
Output : 2, 3

Input    :  myqueue = 3, 2, 1
                myqueue.pop();
Output : 2, 1

错误和异常

  1. 如果传递参数则显示错误。
  2. 如果参数不抛出任何异常,则显示不抛出异常保证。

queue::pop( 的示例)

CPP

输出
 2

时间复杂度:O(1)(队列pop()操作需要恒定的时间复杂度。)

Note: Here, output is printed on the basis of FIFO property.

push()和pop()的应用在 C++ 中

给定多个整数,将它们添加到队列中,并在不使用 size 函数的情况下查找队列的大小。

Input : 5, 13, 0, 9, 4
Output: 5

算法

  1. 将给定的元素一一推入队列容器。
  2. 继续弹出队列的元素,直到队列变空,并递增计数器变量。
  3. 打印计数器变量。

示例

CPP


// CPP program to illustrate
// Application of push() and pop() function
#include <iostream>
#include <queue>
using namespace std;
int main()
{
    // Empty Queue
    int c = 0;
    queue<int> myqueue;
    myqueue.push(5);
    myqueue.push(13);
    myqueue.push(0);
    myqueue.push(9);
    myqueue.push(4);
    // queue becomes 5, 13, 0, 9, 4
    // Counting number of elements in queue
    while (!myqueue.empty()) {
        myqueue.pop();
        c++;
    }
    cout << c;
}
输出
5

时间复杂度:O(n) //n 是队列的大小。

辅助空间:O(1)

C++中队列push()和队列pop()之间的区别

下表列出了 queue::push() 和 queue::pop() 之间的区别:

S. 编号

队列push()

queue pop()

1.

它用于在队列末尾插入一个新元素。 它用于删除队列中的下一个元素

2.

它的语法是-:
推(value_type&& val);
它的语法是-:
pop();

3.

它需要一个参数,即要插入的值。 它不带任何参数。

4.

它的返回类型是void。 它的返回类型是void。

5.

它存在于<queue>头文件。 它存在于<queue>头文件。


相关用法


注:本文由纯净天空筛选整理自AyushSaxena大神的英文原创作品 queue push() and pop() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。