Open In App

set::empty() in C++ STL

Sets are a type of associative containers in which each element has to be unique, because the value of the element identifies it. The value of the element cannot be modified once it is added to the set, though it is possible to remove and add the modified value of that element.

set::empty()

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

Syntax :

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

Examples:

Input  : myset{1, 2, 3, 4, 5};
         myset.empty();
Output : False

Input  : myset{};
         myset.empty();
Output : True

Errors and Exceptions

1. It has a no exception throw guarantee.
2. Shows error when a parameter is passed.




// INTEGER SET
// CPP program to illustrate
// Implementation of empty() function
#include <iostream>
#include <set>
using namespace std;
  
int main()
{
    // set declaration
    set<int> myset{};
  
    // checking if set is empty
    if (myset.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }
    return 0;
}

Output:

True




// CHARACTER SET
// CPP program to illustrate
// Implementation of empty() function
#include <iostream>
#include <set>
using namespace std;
  
int main()
{
    // set declaration
    set<char> myset{ 'A', 'b' };
  
    // checking if set is empty
    if (myset.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }

Output:

False

Time Complexity : O(1)

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

Input  : 1, 5, 6, 3, 9, 2
Output : 26
Explanation -  1+5+6+3+9+2 = 26

Algorithm

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




// CPP program to illustrate
// Application of empty() function
#include<iostream>
#include<set>
   
using namespace std;
   
int main()
{
    // sum variable declaration
    int sum = 0;
   
    // set declaration
    set<int> myset{ 1, 5, 6, 3, 9, 2 };
   
    // finding sum of elements
    while(!myset.empty()){
        sum+= *myset.begin();
        myset.erase(myset.begin());
    }
      
    // print sum
     cout<<sum<<endl;
    return 0;
}

Output:

26

Article Tags :
C++