unordered_set end() in C++ STL
Last Updated :
05 Jun, 2023
The unordered_set::end() function is a built-in function in C++ STL which returns an iterator pointing to the past-the-end-element. This iterator does not directly point to an element, rather it points to the location just after the last element.
Syntax
umap_name.end()
or,
umap_name.end(int i)
Parameters: This function takes a single integer parameter which is optional.
Return value:
- If the parameter is not passed then the function returns an iterator pointing to the past-the-end element. Actually, it does not point to any element of the set, but it points to the position following the last element of the container.
- If the parameter is passed then the function returns an iterator pointing to the past-the-end element of i-th bucket. As in the previous case, it does not point to any element of the set, but it points to the position following the last element of i-th bucket. So the iterator returned by unordered_set::end() cannot be dereferenced.
Below programs illustrate the unordered_set::end() function:
Program 1:
CPP
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_set< int > sampleSet =
{ 5, 10, 15, 4, 2, 7, 8, 6 };
for ( auto it = sampleSet.begin(); it != sampleSet.end();
it++)
{
cout << *it << " " ;
}
return 0;
}
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Program 2:
CPP
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_set< int > sampleSet =
{ 5, 10, 15, 4, 2, 7, 8, 6 };
for (unsigned i = 0; i < sampleSet.bucket_count(); ++i)
{
cout << "Bucket " << i << " Contains: " ;
for ( auto it1 = sampleSet.begin(i);
it1 != sampleSet.end(i); ++it1)
cout << " " << *it1;
cout << endl;
}
return 0;
}
|
Output:Bucket 0 Contains:
Bucket 1 Contains:
Bucket 2 Contains: 2
Bucket 3 Contains:
Bucket 4 Contains: 4 15
Bucket 5 Contains: 5
Bucket 6 Contains: 6
Bucket 7 Contains: 7
Bucket 8 Contains: 8
Bucket 9 Contains:
Bucket 10 Contains: 10
Time Complexity: O(1)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...