C++容器之映射map
8、小作业:
定义一个 map<int, char> 类型的对象:
依次存入以下内容:
10010->'m'
10011->'f'
10012->'f'
10013->'m'
10014->'f'
10015->'m'
之后,使用 for 循环删除map中的value值为 'f' 的元素,并将结果输出出来!
#include <iostream> #include <map> using namespace std; int main() { map<int, char> m_int_char; m_int_char.insert(m_int_char.begin(), {10010,'m'}); m_int_char.insert({ 10011,'f' }); m_int_char.insert(m_int_char.end(), { 10012,'f' }); m_int_char.insert(m_int_char.end(), { 10013,'m' }); m_int_char.insert(m_int_char.end(), { 10014,'f' }); m_int_char.insert(m_int_char.end(), { 10015,'m' }); for (int i = 10016; i < 10050; i++) { if (i > 10040) { m_int_char.insert(m_int_char.end(), { i,'m' }); } else { m_int_char.insert(m_int_char.end(), { i,'f' }); } } map<int, char>::iterator itera; for (itera = m_int_char.begin(); itera != m_int_char.end(); itera++) { int key = itera->first; char value = itera->second; if (value == 'f') { itera = m_int_char.erase(itera); itera--; } else { cout << key <<"->"<< value; cout << endl; } } return 0; }
浙公网安备 33010602011771号