map
c++中的map是stl中的一种关联容器,可以说是映射,每个关键字在map中值出现一次,指向其指向的内容,map中会自动形成红黑树,使得内部的数据得以有序存储。
功能:
建立key与value对应,一个key只对应一个value,但一个value可能对应多个key,其查找和删除都有很快的速度,可以根据key来修改value的数值。
使用map要有头文件#include<map>;
定义一个类型:map<int ,string> val;
基本使用:
val.size();求元素个数
find()可以寻找一个键是否存在
count()找一个键出现几次
val.insert() 插入一个元素
begin()指向map第一个元素(迭代器)
clear() 清空所有元素
lower_bound() 返回键值>=给定元素的第一个位置
upper_bound() 返回键值>给定元素的第一个位置
swap() 交换两个容器元素
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器 //加值后,迭代器指向向左移
queue
同其他容器一样,定义在#include<queue>;
一些基本操作:
back() 返回容器中的最后一个元素
empty() 容器为空返回bool true 否则为flase
front() 返回容器第一个元素
pop() 删除容器第一个元素
push() 在容器末尾加入一个元素
size() 返回容器元素的个数
但是queue可以定义优先级,就是priority_queue,这是一个优先队列,用二叉树建立,每个值和上面的值比较,大则交换,这样可以保证容器中最上方的数是最大的,可以以此进行多种排队优先问题的解决。