1.对于set
本周学到内容
主要学到的语法
定义,遍历:set<int>::iterator it=a.begin() for(){
map是一种无重复已经排序号的容器,与map似
a.begin() a.end()返回指针 a.insert()输入元素 a.find()查找元素:set_iter=a.find(); if(set_iter!=a.end())则找到 也是指针的应用 a.erase()删除指针,也可删除值,也可以删除一个范围, a.clear()清除所有的元素 a.empty()判断是否为空 a.size()用来计算元素的数目
lower_bound返回一个指针
集合的交并补
set_intersection(a.begin(),a.end(),b.begin(),b.end(),insert_iterator>(c,c.begin()));copy(c.begin(),c.end(),ostream_iterator(cout," "));
并union,差difference对称差symmetric_difference
还有一个重要的方法
如果对于一个需要判断在set元素是否输入多次时最好使用map可以记录输入次数
cout<
2.map
定义,遍历map各种性质与set十分相似
map可以和数组一样的定义
map(pair<int,int>(1,2));
map(map<int,int>::value_type(1,2));
一个重要内容
map形成的是一个映射,脱离了数组原本只能用数字做下表的局限,使得使用更加方便
3.queue,stack
输入
a.push();
输出
a.pop();
首元素
a.top();
empty()判断是否为空
a.size()输出长度 a.back()尾元素 a.front()首元素
4.deque
a.begin() a.end()返回指针
a.empty()
a.front();
a.back();
c.insert(pos,num)在pos位置插入元素num
c.insert(pos,n,num)在pos位置插入n个元素num
c.insert(pos,beg,end)在pos位置插入区间为[beg,end)的元素
c.push_back(num)在末尾位置插入元素
c.pop_back()删除末尾位置的元素
c.push_front(num)在开头位置插入元素
c.pop_front()删除开头位置的元素
5.priority_queue特别之处在于,允许用户为队列中存储的元素设置优先级。这种队列不是直接将新元素放置在队列尾部,而是放在比它优先级低的元素前面。标准库默认使用<操作符来确定对象之间的优先级关系,所以如果要使用自定义对象,需要重载 < 操作符
6.
isalpha用来判断是不是字母
tolower把大写转化成小写
toupper相反
reverse翻转