Skip to content

Instantly share code, notes, and snippets.

@yasukei
Created May 7, 2020 14:25
Show Gist options
  • Save yasukei/f30133572d1b4db21b06d0dc96dd2546 to your computer and use it in GitHub Desktop.
Save yasukei/f30133572d1b4db21b06d0dc96dd2546 to your computer and use it in GitHub Desktop.
std::map
#include <iostream>
#include <string>
#include <vector>
#include <map>
int main()
{
std::map<std::string, int> m;
auto print = [&]() {
std::cout << "m.empty(): " << m.empty() << "\n";
std::cout << "m.size(): " << m.size() << "\n";
std::cout << "m.max_size(): " << m.max_size() << "\n";
for (auto it = m.begin(); it != m.end(); ++it)
{
std::cout << "v[" << it->first << "]: " << it->second << "\n";
}
};
std::cout << "\n[Initial state]\n";
print();
std::cout << "\n[After push_back()]\n";
m.insert({ "Jan", 1 });
print();
std::cout << "\n[After push_back()]\n";
m.insert(std::make_pair("Feb", 2));
print();
std::cout << "\n[After clear()]\n";
m.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++)
{
m.insert({ month[i], i+1 });
}
print();
std::cout << "\n[After erase()]\n";
for (auto it = m.begin(); it != m.end(); )
{
if (it->second % 2 == 0)
{
it = m.erase(it);
}
else
{
++it;
}
}
print();
std::cout << "\n[find(\"Jul\")]\n";
auto search = m.find("Jul");
if (search == m.end())
{
std::cout << "Not found" << "\n";
}
else
{
std::cout << search->second << " was found" << "\n";
}
return 0;
}
[Initial state]
m.empty(): 1
m.size(): 0
m.max_size(): 230584300921369395
[After push_back()]
m.empty(): 0
m.size(): 1
m.max_size(): 230584300921369395
v[Jan]: 1
[After push_back()]
m.empty(): 0
m.size(): 2
m.max_size(): 230584300921369395
v[Feb]: 2
v[Jan]: 1
[After clear()]
m.empty(): 1
m.size(): 0
m.max_size(): 230584300921369395
[After insert()]
m.empty(): 0
m.size(): 12
m.max_size(): 230584300921369395
v[Apr]: 4
v[Aug]: 8
v[Dec]: 12
v[Feb]: 2
v[Jan]: 1
v[Jul]: 7
v[Jun]: 6
v[Mar]: 3
v[May]: 5
v[Nov]: 11
v[Oct]: 10
v[Sep]: 9
[After erase()]
m.empty(): 0
m.size(): 6
m.max_size(): 230584300921369395
v[Jan]: 1
v[Jul]: 7
v[Mar]: 3
v[May]: 5
v[Nov]: 11
v[Sep]: 9
[find("Jul")]
7 was found
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment