map容器构造与赋值操作
代码如下:
#include <iostream>
using namespace std;
#include <map>
void printMap(map<int, int>& m)
{
for (map<int, int>::iterator it = m.begin(); it != m.end(); it++)
{
cout << "key = " << (*it).first << "value = " << it->second << endl;
}
cout << endl;
}
void test01()
{
map<int, int> m;
//左边key 右边value
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
m.insert(pair<int, int>(3, 30));
m.insert(pair<int, int>(4, 40));
printMap(m);
//拷贝构造
map<int, int>m2(m);
printMap(m2);
map<int, int> m3;
m3 = m2;
printMap(m3);
}
int main()
{
test01();
system("pause");
return 0;
}
map的大小和交换
#include <iostream>
using namespace std;
#include <map>
void printMap(map<int, int>& m)
{
for (map<int, int>::iterator it = m.begin(); it != m.end(); it++)
{
cout << "key = " << (*it).first << "value = " << it->second << endl;
}
cout << endl;
}
void test01()
{
map<int, int> m;
//左边key 右边value
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
m.insert(pair<int, int>(3, 30));
m.insert(pair<int, int>(4, 40));
printMap(m);
//拷贝构造
map<int, int>m2(m);
printMap(m2);
map<int, int> m3;
m3 = m2;
printMap(m3);
}
void test02()
{
map<int, int> m;
//左边key 右边value
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
m.insert(pair<int, int>(3, 30));
m.insert(pair<int, int>(4, 40));
if (m.empty()) {
cout << "m为空" << endl;
}
else {
cout << "m不为空" << endl;
cout << "m的大小为:" << m.size() << endl;
}
}
void test03()
{
map<int, int> m;
//左边key 右边value
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
m.insert(pair<int, int>(3, 30));
m.insert(pair<int, int>(4, 40));
map<int, int> m1;
//左边key 右边value
m1.insert(pair<int, int>(5, 100));
m1.insert(pair<int, int>(6, 200));
m1.insert(pair<int, int>(7, 300));
m1.insert(pair<int, int>(8, 400));
cout << "交换前:" << endl;
printMap(m);
printMap(m1);
m.swap(m1);
cout << "交换后:" << endl;
printMap(m);
printMap(m1);
}
int main()
{
//test01();
//test02();
test03();
system("pause");
return 0;
}
map的插入和删除操作
test04