stl算法

作者: tinaaaabbb | 来源:发表于2017-03-25 16:21 被阅读0次

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

    相关文章

      网友评论

          本文标题:stl算法

          本文链接:https://www.haomeiwen.com/subject/lyscottx.html