Skip to content

Instantly share code, notes, and snippets.

@yasukei
Last active May 11, 2020 11:27
Show Gist options
  • Save yasukei/5756f2075f19a4c3f52f96c8c3925b53 to your computer and use it in GitHub Desktop.
Save yasukei/5756f2075f19a4c3f52f96c8c3925b53 to your computer and use it in GitHub Desktop.
std::set
#include <iostream>
#include <string>
#include <vector>
#include <set>
int main()
{
std::set<std::string> s;
auto print = [&]() {
std::cout << "s.empty(): " << s.empty() << "\n";
std::cout << "s.size(): " << s.size() << "\n";
std::cout << "s.max_size(): " << s.max_size() << "\n";
for (auto it = s.begin(); it != s.end(); ++it)
{
std::cout << "s[" << it->c_str() << "]\n";
}
};
std::cout << "\n[Initial state]\n";
print();
std::cout << "\n[After insert()]\n";
auto result = s.insert("Jan");
std::cout << "inserted: [" << result.second << "]\n";
result = s.insert("Jan");
std::cout << "inserted: [" << result.second << "]\n";
print();
std::cout << "\n[After push_back()]\n";
s.insert("Feb");
print();
std::cout << "\n[After clear()]\n";
s.clear();
print();
std::cout << "\n[After insert()]\n";
std::vector<std::string> month = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
for (int i = 0; i < month.size(); i++)
{
s.insert(month[i]);
}
print();
std::cout << "\n[After erase()]\n";
for (auto it = s.begin(); it != s.end(); )
{
if (it->front() == 'J')
{
it = s.erase(it);
}
else
{
++it;
}
}
print();
std::cout << "\n[find(\"Jul\")]\n";
auto search = s.find("Jul");
if (search == s.end())
{
std::cout << "Not found" << "\n";
}
else
{
std::cout << search->c_str() << " was found" << "\n";
}
return 0;
}
[Initial state]
s.empty(): 1
s.size(): 0
s.max_size(): 256204778801521550
[After insert()]
inserted: [1]
inserted: [0]
s.empty(): 0
s.size(): 1
s.max_size(): 256204778801521550
s[Jan]
[After push_back()]
s.empty(): 0
s.size(): 2
s.max_size(): 256204778801521550
s[Feb]
s[Jan]
[After clear()]
s.empty(): 1
s.size(): 0
s.max_size(): 256204778801521550
[After insert()]
s.empty(): 0
s.size(): 12
s.max_size(): 256204778801521550
s[Apr]
s[Aug]
s[Dec]
s[Feb]
s[Jan]
s[Jul]
s[Jun]
s[Mar]
s[May]
s[Nov]
s[Oct]
s[Sep]
[After erase()]
s.empty(): 0
s.size(): 9
s.max_size(): 256204778801521550
s[Apr]
s[Aug]
s[Dec]
s[Feb]
s[Mar]
s[May]
s[Nov]
s[Oct]
s[Sep]
[find("Jul")]
Not found
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment