📜  C++ STL 中的队列 push() 和 pop()

📅  最后修改于: 2022-05-13 01:54:42.555000             🧑  作者: Mango

C++ STL 中的队列 push() 和 pop()

队列是一种以先进先出 (FIFO)类型的排列方式运行的容器。元素插入到后端(末尾)并从队列的前端删除。

队列::推()

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

句法 :

queuename.push(value)

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

结果:添加一个与队列后面传递的参数值相同的元素。

例子:

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

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

错误和异常:

  1. 如果传递的值与队列类型不匹配,则显示错误。
  2. 如果参数不抛出任何异常,则不显示异常抛出保证。
CPP
// CPP program to illustrate
// Implementation of push() function
  
#include 
#include 
using namespace std;
  
int main()
{
    // Empty Queue
    queue myqueue;
    myqueue.push(0);
    myqueue.push(1);
    myqueue.push(2);
  
    // Printing content of queue
    while (!myqueue.empty()) {
        cout << ' ' << myqueue.front();
        myqueue.pop();
    }
}


CPP
// CPP program to illustrate
// Implementation of pop() function
  
#include 
#include 
using namespace std;
  
int main()
{
    // Empty Queue
    queue myqueue;
    myqueue.push(0);
    myqueue.push(1);
    myqueue.push(2);
    // queue becomes 0, 1, 2
  
    myqueue.pop();
    myqueue.pop();
    // queue becomes 2
  
    // Printing content of queue
    while (!myqueue.empty()) {
        cout << ' ' << myqueue.front();
        myqueue.pop();
    }
}


CPP
// CPP program to illustrate
// Application of push() and pop() function
  
#include 
#include 
using namespace std;
  
int main()
{
    // Empty Queue
    int c = 0;
  
    queue 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

队列::pop()

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

句法 :

queuename.pop()

参数:不传递参数

结果:删除队列中最旧的元素或基本上是最前面的元素。

例子:

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

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

错误和异常:

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

CPP

// CPP program to illustrate
// Implementation of pop() function
  
#include 
#include 
using namespace std;
  
int main()
{
    // Empty Queue
    queue myqueue;
    myqueue.push(0);
    myqueue.push(1);
    myqueue.push(2);
    // queue becomes 0, 1, 2
  
    myqueue.pop();
    myqueue.pop();
    // queue becomes 2
  
    // Printing content of queue
    while (!myqueue.empty()) {
        cout << ' ' << myqueue.front();
        myqueue.pop();
    }
}
输出
2

应用:push() 和 pop()

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

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

算法: 1.将给定的元素一一推送到队列容器中。
2. 不断弹出队列的元素,直到队列变空,并增加计数器变量。
3. 打印计数器变量。

CPP

// CPP program to illustrate
// Application of push() and pop() function
  
#include 
#include 
using namespace std;
  
int main()
{
    // Empty Queue
    int c = 0;
  
    queue 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