deque::empty() and deque::size() in C++ STL

Deque or Double ended queues are sequence containers with the feature of expansion and contraction on both the ends. They are similar to vectors, but are more efficient in case of insertion and deletion of elements at the end, and also the beginning. Unlike vectors, contiguous storage allocation may not be guaranteed.

deque::empty()

empty() function is used to check if the deque container is empty or not.

Syntax :

dequename.empty()
Parameters :
No parameters are passed.
Returns :
True, if deque is empty
False, Otherwise

Examples:

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False

Errors and Exceptions

1. Shows error if parameter is passed
2. Shows no exception throw guarantee.

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to illustrate
// Implementation of empty() function
#include <deque>
#include <iostream>
using namespace std;
  
int main()
{
    deque<int> mydeque;
    mydeque.push_front(1);
  
    // Deque becomes 1
  
    if (mydeque.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }
    return 0;
}

chevron_right


Output:

False

Application :
Given a deque of integers, find the sum of the all the integers.

Input : 1, 8, 3, 6, 2
Output: 20

Algorithm
1. Check if the deque is empty, if not add the front element to a variable initialised as 0, and pop the front element.
2. Repeat this step until the deque is empty.
3. Print the final value of the variable.

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to illustrate
// Application of empty() function
#include <deque>
#include <iostream>
using namespace std;
  
int main()
{
    int sum = 0;
    deque<int> mydeque;
    mydeque.push_back(1);
    mydeque.push_back(8);
    mydeque.push_back(3);
    mydeque.push_back(6);
    mydeque.push_back(2);
  
    // deque becomes 1, 8, 3, 6, 2
  
    while (!mydeque.empty()) {
        sum = sum + mydeque.front();
        mydeque.pop_front();
    }
    cout << sum;
    return 0;
}

chevron_right


Output:

20
deque::size()

size() function is used to return the size of the deque container or the number of elements in the deque container.

Syntax :

dequename.size()
Parameters :
No parameters are passed.
Returns :
Number of elements in the container.

Examples:

Input :   mydeque = 0, 1, 2
          mydeque.size();
Output :  3
 
Input :   mydeque = 0, 1, 2, 3, 4, 5
          mydeque.size();
Output :  6

Errors and Exceptions

1. Shows error if a parameter is passed.
2. Shows no exception throw guarantee.

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to illustrate
// Implementation of size() function
#include <deque>
#include <iostream>
using namespace std;
  
int main()
{
    int sum = 0;
    deque<int> mydeque;
    mydeque.push_back(1);
    mydeque.push_back(8);
    mydeque.push_back(3);
    mydeque.push_back(6);
    mydeque.push_back(2);
  
    // Deque becomes 1, 8, 3, 6, 2
  
    cout << mydeque.size();
  
    return 0;
}

chevron_right


Output:

5

Application :
Given a deque of integers, find the sum of the all the integers.

Input : 1, 8, 3, 6, 2
Output: 20

Algorithm
1. Check if the size of the deque is zero, if not add the front element to a variable initialised as 0, and pop the front element.
2. Repeat this step until the deque size becomes 0.
3. Print the final value of the variable.

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to illustrate
// Application of size() function
#include <deque>
#include <iostream>
using namespace std;
  
int main()
{
    int sum = 0;
    deque<int> mydeque;
    mydeque.push_back(1);
    mydeque.push_back(8);
    mydeque.push_back(3);
    mydeque.push_back(6);
    mydeque.push_back(2);
  
    // Deque becomes 1, 8, 3, 6, 2
  
    while (mydeque.size() > 0) {
        sum = sum + mydeque.front();
        mydeque.pop_front();
    }
    cout << sum;
    return 0;
}

chevron_right


Output:

20


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.