stl算法

2017-03-25  本文已影响0人  tinaaaabbb

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翻转

上一篇下一篇

猜你喜欢

热点阅读