目录
一、构造与赋值
1.基本概念
所有元素会根据元素的键值自动排序
迭代器是双向迭代器,不是随机迭代器。
2.构造和赋值
函数原型
map<T1,T2> mp; // 默认构造
map(const map & mp) // 拷贝构造
赋值
map & operator=(const map &mp)
二、大小和交换
函数原型
size() // 返回容器中元素数目
empty() // 判断容器是否为空
swap(st) // 交换两容器元素
#include<iostream>
#include<map>
using namespace std;
void test1()
{
map<int, int> m;
m.insert(pair<int, int>(1, 1));
m.insert(pair<int, int>(2, 2));
m.insert(pair<int, int>(4, 4));
m.insert(pair<int, int>(3, 3));
if(m.empty())
{
cout << "m is empty" << endl;
}
else
{
cout << "m is not empty" << endl;
cout << "m size is " << m.size() << endl;
}
map<int, int> m1;
m1.insert(pair<int, int>(12, 6));
m1.insert(pair<int, int>(13, 7));
m1.insert(pair<int, int>(14, 8));
m1.insert(pair<int, int>(15, 9));
m1.insert(pair<int, int>(16, 10));
m1.swap(m);
map<int, int> :: iterator it;
for(it = m.begin(); it != m.end(); it++)
{
cout << it->first << " " << it->second << endl;
}
}
int main()
{
test1();
return 0;
}
三、插入和删除
函数原型
insert(elem) //向容器中插入元素
clear // 清空所有元素
erase(pos) // 删除迭代器所指向元素
erase(begin, end) / / [beigin, end), 删除迭代器这个范围的元素
erase(key) // 按照key删除元素
四、查找和统计
函数原型
find(key) // 若存在返回这个键值对应的迭代器,若不存在返回end迭代器
五、排序
利用仿函数,可以改变排序规则