网站建设基础心得,中国招投标网站官网,深圳建网站的公司,电影网站logo设计3.8.2.1 map构造函数
mapT1, T2 mapTT;//map默认构造函数:
map(const map mp);//拷贝构造函数3.8.2.2 map赋值操作
map operator(const map mp);//重载等号操作符
swap(mp);//交换两个集合容器3.8.2.3 map大小操作
size();//返回容器中元素的数目
empty…3.8.2.1 map构造函数
mapT1, T2 mapTT;//map默认构造函数:
map(const map mp);//拷贝构造函数3.8.2.2 map赋值操作
map operator(const map mp);//重载等号操作符
swap(mp);//交换两个集合容器3.8.2.3 map大小操作
size();//返回容器中元素的数目
empty();//判断容器是否为空
3.8.2.4 map插入数据元素操作
map.insert(...); //往容器插入元素返回pairiterator,bool
mapint, string mapStu;
// 第一种 通过pair的方式插入对象
mapStu.insert(pairint, string(3, 小张));
// 第二种 通过pair的方式插入对象
mapStu.inset(make_pair(-1, 校长));
// 第三种 通过value_type的方式插入对象
mapStu.insert(mapint, string::value_type(1, 小李));
// 第四种 通过数组的方式插入值
mapStu[3] 小刘;
mapStu[5] 小王;
3.8.2.5 map删除操作
clear();//删除所有元素
erase(pos);//删除pos迭代器所指的元素返回下一个元素的迭代器。
erase(beg,end);//删除区间[beg,end)的所有元素 返回下一个元素的迭代器。
erase(keyElem);//删除容器中key为keyElem的对组。
3.8.2.6 map查找操作
find(key);//查找键key是否存在,若存在返回该键的元素的迭代器/若不存在返回map.end();
count(keyElem);//返回容器中key为keyElem的对组个数。对map来说要么是0要么是1。对multimap来说值可能大于1。
lower_bound(keyElem);//返回第一个keykeyElem元素的迭代器。
upper_bound(keyElem);//返回第一个keykeyElem元素的迭代器。
equal_range(keyElem);//返回容器中key与keyElem相等的上下限的两个迭代器。
*/
#define _CRT_SECURE_NO_WARNINGS
#include iostream
#include map
#include string
using namespace std;void test1() {mapint, int m1;// 插入值有4种方式//第一种m1.insert(pairint, int(1, 10));//第二种m1.insert(make_pair(2, 20));//第三种m1.insert(mapint, int::value_type(3, 30));// 第四种m1[4] 40;for (mapint, int::iterator it m1.begin(); it ! m1.end(); it) {cout m1 - key is it-first endl;cout m1 - value is (*it).second endl;}
}class myparse {
public:bool operator()(int v1, int v2) const{return v1 v2;}
};
// 指定排序规则
void test2() {mapint, int, myparse m1;// 插入值有4种方式//第一种m1.insert(pairint, int(1, 10));//第二种m1.insert(make_pair(2, 20));//第三种m1.insert(mapint, int::value_type(3, 30));// 第四种m1[4] 40;for (mapint, int, myparse::iterator it m1.begin(); it ! m1.end(); it) {cout m1 - key is it-first endl;cout m1 - value is (*it).second endl;}
}int main()
{//test1();test2();return 0;
}
Map的特性是所有元素都会根据元素的键值自动排序。Map所有的元素都是pair,同时拥有实值和键值pair的第一元素被视为键值第二元素被视为实值map不允许两个元素有相同的键值。 Map和multimap都是以红黑树为底层实现机制。 Map和list拥有相同的某些性质当对它的容器元素进行新增操作或者删除操作时操作之前的所有迭代器在操作完成之后依然有效当然被删除的那个元素的迭代器必然是个例外。