C++ iterate over set: In the previous article, we have discussed about C++ Set example and Tutorial – Part 1. Let us learn how to Iterate Over a Set in C++ Program.
Iterate Over a Set
Print set c++: We are going to see how we can iterate over sets in C++.
- Iterating over a Set using Iterators
- Iterating a set in backward direction using reverse_iterator
- Iterating over a set using Range based for loop
- Iterating over a set using std::for_each and range based for loop
Iterating over a Set using Iterators :
Iterate over string c++: We can use the std::set functions to iterate over the set. We will be using the begin( ) to point to the first element and then iterate until we reach end( ) i.e. the end of set.
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
int main()
{
std::set<std::string> setString = { "abc","fab","top","lol","right"};
//Iterator pointing to the first element of the set
std::set<std::string>::iterator iter = setString.begin();
// Iterate the whole set and print all elements
while (iter != setString.end())
{
std::cout << (*iter) << " , ";
//Iterator incrmentation
iter++;
}
return 0;
}
Output : abc , fab , lol , right , top ,
Iterating a set in backward direction using reverse_iterator :
C++ print set: Just like the previous example, we will be iterating through the begin and end, however here we will be suing the rbegin( ) and rend( ) operator. This rbegin() will point to the last element and the rend( ) will point to the first, returning an iterator pointing to the previous element.
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
int main()
{
std::set<std::string> setString = {"abc", "fab", "top", "lol", "right"};
//Iterator that points to the first element of the set
std::set<std::string>::reverse_iterator revIter = setString.rbegin();
// Iterate the whole set and print all elements
while (revIter != setString.rend())
{
std::cout << (*revIter) << " , ";
//Iterator incrmentation
revIter++;
}
return 0;
}
Output : top , right , lol , fab , abc ,
Iterating over a set using Range based for loop :
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
int main()
{
std::set<std::string> setString = {"abc", "fab", "top", "lol", "right"};
//Using range based for loop to iterate the set
for (auto str : setString)
{
std::cout << str << " , ";
}
return 0;
}
Output : abc , fab , lol , right , top ,
Iterating over a set using std::for_each and range based for loop :
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
int main()
{
std::set<std::string> setString = {"abc", "fab", "top", "lol", "right"};
//Using range based for loop to iterate the set
std::for_each(setString.begin(), setString.end(), [](const std::string &elem)
{ std::cout << elem << " , "; });
return 0;
}
Output : abc , fab , lol , right , top ,
Answer these:
- Iterate through unordered set c?
- Iterate through unordered_set c++?
- How to iterate through a pair in c?
- How to iterate through a pair in c++?
- Iterate through unordered set c
- C set iterator to index
- Find in set c
- Iterate over a set python
- Ordered set c++
- C++ set iterator
- Iterator c++
- C++ set iterator to index