Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

C++ Queue::pop() Function



The C++ std::queue::pop() function is used to remove the front element of a queue. The queue will follows a First-In-First-Out(FIFO) principle, means the first element added is the first to be removed. This reduces the container size by one but does not return the removed element. When we try to invoke this function on the empty queue it results a undefined behaviour. The time complexity of this function is constant O(1).

This function is used in conjuction with front() function, to access the first element and then remove it by calling pop() function.

Syntax

Following is the syntax for std::queue::pop() function.

void pop();

Parameters

It does not accept any parameters.

Return value

This function does not return anything.

Example

Let's look at the following example, where we are going to demonstrate the basic usage of pop() function.

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> x;
    x.push(11);
    x.push(222);
    x.push(3333);
    std::cout << "Before Pop Front Element:" << x.front() << std::endl;
    x.pop();
    std::cout << "After Pop Front Element:" << x.front() << std::endl;
    return 0;
}

Output

Following is the output of the above code −

Before Pop Front Element:11
After Pop Front Element:222

Example

Consider the following example, where we are going to use the loop to pop and print each element until the queue is empty.

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    for (int x = 1; x <= 4; ++x) {
        a.push(x * 2);
    }
    while (!a.empty()) {
        std::cout << "Popping Element: " << a.front() << std::endl;
        a.pop();
    }
    return 0;
}

Output

Output of the above code is as follows −

Popping Element: 2
Popping Element: 4
Popping Element: 6
Popping Element: 8

Example

In the following example, we are going to retrive the size of the queue after using the pop() function.

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    a.push(1);
    a.push(2);
    a.pop();
    std::cout << "Size of the queue after popping:" << a.size() << std::endl;
    return 0;
}

Output

If we run the above code it will generate the following output −

Size of the queue after popping:1

Example

Following is the example, where we are going to process the queue until the condition is met.

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    for (int x = 1; x <= 5; ++x) {
        a.push(x);
    }
    while (!a.empty() && a.front() != 3) {
        std::cout << "Popping Element:" << a.front() << std::endl;
        a.pop();
    }
    return 0;
}

Output

Let us compile and run the above program, this will produce the following result −

Popping Element:1
Popping Element:2
queue.htm
Advertisements