C++ set end
C++ set end function is used to return an iterator which is next to the last entry in the set.
Note:- This is a placeholder. No element exists in this location and attempting to access is undefined behavior.
Syntax
iterator end(); //until C++ 11
const_iterator end() const; //until C++ 11
iterator end() noexcept; //since C++ 11
const_iterator end() const noexcept; //since C++ 11
Parameter
Return value
It returns an iterator which is pointing next to the last element of the set.
Complexity
Constant.
Iterator validity
No changes.
Data Races
Concurrently accessing the elements of a set is safe.
The container is accessed neither the non-const nor the const versions modify the container.
Exception Safety
This member function never throws exception.
Example 1
Let's see the simple example for end function:
#include <iostream>
#include <set>
using namespace std;
int main ()
{
set<string> myset = {"Java", "C++", "SQL"};
// show content:
for (set<string>::iterator it=myset.begin(); it!=myset.end(); ++it)
cout << *it<< '\n';
return 0;
}
Output:
C++
Java
SQL
In the above example, end function is used to return an iterator pointing next to the last element in the myset set.
Example 2
Let's see a simple example to iterate over the set using for-each loop:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> c;
c.insert(5);
c.insert(2);
c.insert(4);
c.insert(1);
c.insert(0);
c.insert(0);
c.insert(9);
set<int>::iterator i = c.begin();
while (i != c.end())
cout << *i++ << " ";
cout << endl;
}
Output:
0 1 2 4 5 9
Example 3
Let's see a simple example to iterate over the set using while loop:
#include <iostream>
#include <set>
#include <string>
int main()
{
using namespace std;
set<string> myset = { "Nikita","Deep","Priya","Suman","Aman" };
cout<<"Elements of myset are: "<<endl;
set<string>::const_iterator it; // declare an iterator
it = myset.begin(); // assign it to the start of the set
while (it != myset.end()) // while it hasn't reach the end
{
cout << *it << "\n";
// print the value of the element icpp tutorials to
++it; // and iterate to the next element
}
cout << endl;
}
Output:
Elements of myset are:
Aman
Deep
Nikita
Priya
Suman
In the above example, end function is used to return an iterator pointing next to the last element in the myset set.
Example 4
Let's see a simple example:
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main ()
{
int val;
set<int> c = {10,20,30,40,50};
cout<<"Enter value to find: ";
cin>>val;
auto result = c.find(val);
//find until end of the set elements
if (result != c.end()) {
cout << "Element found: "<< *result;
cout << endl;
} else {
cout << "Element not found." << endl;
}
return 0;
}
Output:
Enter value to find: 60
Element not found.
Enter value to find: 30
Element found: 30
In the above example, end function is used to return an iterator pointing next to the last element in the myset set.