Queue is a type of container adaptor that operate in a first in first out (FIFO) type of arrangement. Elements are inserted at the back (end) and are deleted from the front.
queue::empty()
empty() function is used to check if the queue container is empty or not.
Syntax
queueName.empty()
Parameters
- This function does not accept any parameter.
Return Value
- It returns True if the list is empty, else it returns False.
Examples
Input: myqueue = 1, 2, 3 myqueue.empty(); Output: False Input: myqueue myqueue.empty(); Output: True
Errors and Exceptions
- Shows an error if a parameter is passed.
- Shows no exception throw guarantee.
Examples of queue::empty()
Example 1
The below C++ demonstrates the use of the empty() function in C++ STL’s queue class.
// CPP program to illustrate // Implementation of empty() function #include <iostream> #include <queue> using namespace std;
int main()
{ queue< int > myqueue;
myqueue.push(1);
// Queue becomes 1
if (myqueue.empty()) {
cout << "True" ;
}
else {
cout << "False" ;
}
return 0;
} |
False
Example 2
The below problem statement demonstrates one of the applications of the empty() function in C++ STL’s queue class.
Given a queue of integers, the task is to find the sum of all the integers.
Sample Input: 1, 8, 3, 6, 2
Sample Output: 20
Algorithm
- Check if the queue is empty, if not add the front element to a variable initialized as 0, and pop the front element.
- Repeat this step until the queue is empty.
- Print the final value of the variable.
Below is the implementation:
// CPP program to illustrate // Application of empty() function #include <iostream> #include <queue> using namespace std;
int main()
{ int sum = 0;
queue< int > myqueue;
myqueue.push(1);
myqueue.push(8);
myqueue.push(3);
myqueue.push(6);
myqueue.push(2);
// Queue becomes 1, 8, 3, 6, 2
while (!myqueue.empty()) {
sum = sum + myqueue.front();
myqueue.pop();
}
cout << sum;
return 0;
} |
20
queue::size()
size() function is used to return the size of the list container which is the number of elements currently stored in the list container.
Syntax
queuename.size()
Parameters
- This function does not accept any parameter.
Return Value
- It returns the number of elements stored in the container.
Examples
Input : myqueue = 1, 2, 3 myqueue.size(); Output : 3 Input : myqueue myqueue.size(); Output : 0
Errors and Exceptions
- Shows an error if a parameter is passed.
- Shows no exception throw guarantee.
Examples of queue::size()
Example 1
The below C++ demonstrates the use of the size() function in C++ STL’s queue class.
// CPP program to illustrate // Implementation of size() function #include <iostream> #include <queue> using namespace std;
int main()
{ int sum = 0;
queue< int > myqueue;
myqueue.push(1);
myqueue.push(8);
myqueue.push(3);
myqueue.push(6);
myqueue.push(2);
// Queue becomes 1, 8, 3, 6, 2
cout << myqueue.size();
return 0;
} |
5
Example 2
The below problem statement demonstrates one of the applications of the size() function in C++ STL’s queue class.
Given a queue of integers, find the sum of all the integers.
Sample Input : 1, 8, 3, 6, 2
Sample Output: 20
Algorithm
- Check if the size of the queue is zero, if not add the front element to a variable initialized as 0, and pop the front element.
- Repeat this step until the queue size becomes 0.
- Print the final value of the variable.
Below is the implementation:
// CPP program to illustrate // Application of empty() function #include <iostream> #include <queue> using namespace std;
int main()
{ int sum = 0;
queue< int > myqueue;
myqueue.push(1);
myqueue.push(8);
myqueue.push(3);
myqueue.push(6);
myqueue.push(2);
// Queue becomes 1, 8, 3, 6, 2
while (myqueue.size() > 0) {
sum = sum + myqueue.front();
myqueue.pop();
}
cout << sum;
return 0;
} |
20
Let us see the differences in a tabular form.
S.No. | queue::empty() | queue::size() |
---|---|---|
1. | It is used to return whether the queue is empty. | It is used to return the number of elements in the queue. |
2. | Its syntax is -: empty(); |
Its syntax is -: size(); |
3. | It does not take any parameters. | It does not take any parameters. |
4. | Its return type is of boolean. | Its return type is an integer. |
5. | Its complexity is constant. | Its complexity is constant. |