// Init
map<char, int> m = {
{'1', 1},
{'2', 2},
{'3', 3},
{'4', 4},
};
// insert
m['h'] = 1;
m.insert(pair<char, int>('h', 2));
// Erase
m.erase('h');
// Itearate
// map<char, int>::iterator itr = m.begin()
for (auto itr = m.begin(); itr != m.end(); ++itr)
{
// (*itr).first == itr->first
cout << itr->first << endl;
}
// Find
// map<char, int>::iterator itr;
auto it = m.find('3');
if (it != m.end())
cout << it->first << it->second << endl;
// Init
queue<int> q;
// Insert
q.push(1);
// Erase first
q.pop();
// Iterate
// q.size()
// q.front()
// q.back()
while (!q.empty())
{
cout << q.front() << " ";
q.pop();
}
// Init
stack<int> s;
// Insert
s.push(1);
// Erase last
s.pop();
// Iterate
// s.size()
// s.top()
// s.back()
while (!s.empty())
{
cout << s.top() << " ";
s.pop();
}
// Init
set<char> s = {'C', 'D'};
// Insert
s.insert('A');
// Erase
s.erase('C');
// Find
if (s.find('C') != s.end())
{
cout << "Found C!" << endl;
}
// Iterate
for (auto itr = s.begin(); itr != s.end(); ++itr)
{
cout << *itr << endl;
}
// Init
vector<int> v1 = {1, 2, 3};
// Insert
v1.push_back(4);
v1.insert(v1.begin(), 0);
v1.insert(v1.end(), 5);
auto it = next(v1.begin(), 2);
v1.insert(it, 8);
// Erase
v1.pop_back();
v1.erase(v1.begin());
// Iterate
// v1.size()
for (int i = 0; i < v1.size(); i++)
{
cout << v1[i] << endl;
}
for (auto itr = v1.begin(); itr != v1.end(); ++itr)
{
cout << *itr << endl;
}