zoukankan      html  css  js  c++  java
  • 清北学堂(2019 5 3) part 6

    今天讲STL

    1.pair——<algorithm>

      声明形如pair<int,int> x;(不是int也可以),表示x有前后两个成员,都是int类型,调用时写x.first(second);

      对pair声明的变量可以不自定义cmp函数,先按照pair中第一个元素优先排序,再按第二个,即第一个元素相同时对第二个元素排序,

      同时pair支持这种操作:pair<pair<int,int>,int>;

    2.vector——<queue>/<vector>

      基本函数:

      

    3.iterator(迭代器)——<vector>

      

      

    4.set——<set>

      STL集合,使用...红黑树(啥?)维护的集合,保证元素有序,且无重复元素

    基本函数:

      用结构体时需在结构体中写个重载运算符,来定义排序变量

    5.map——<map>

      可以进行类似以下操作:

    #include<bits/stdc++.h>
    map<string,int> a;
    a["cxk"]=233;
    using namespace std;
    int main(){
        ...
    }

      简单来说就是用前面定义的类型指向个后面定义的类型

    6.stack,queue(它们操作很像)——前者<stack>,后者<queue>

      学过不解释

    7.sort(学过)——<algorithm>

      sort可以根据迭代器排序

    8.unique,fill——<algorithm>

      unique:去重函数,只能用于排过序的数组,

      fill:将某一范围的元素全部覆盖为指定元素

    9.next_permutation——<algorithm>

      形如next_permutation(a+1,a+n+1);  

      即为判断a[1]到a[n]的某排列的是否存在下一个排列,按字典序排列,

    10.binary_search——<algorithm>

      官方二分,需要数据有序

    11.nth_element——<algorithm>

      将数列分成某个元素之前,某个元素,某个元素之后三部分,即用指定数据将数列分成两部分(不包括数据本身)

    12.srand与rand——<algorithm>

      在noip的杀手锏

      srand定义随机种子,rand根据随机种子算出其值,然而直接输出只能输出41

      所以一般这么写srand(time(0));

      time——<ctime>

    今天东西好少a

  • 相关阅读:
    Sizzle引擎原理与实践(四)
    Sizzle引擎原理与实践(一)
    Sizzle引擎原生getElementsByClassName对选择结果的影响(jQuery)
    【翻译】HTML5开发——轻量级Web Database存储库html5sql.js
    【翻译】向后兼容的DOM事件绑定
    软件工程实践2019第二次作业
    软件工程实践2019第一次作业
    软件工程实践2019第四次作业
    发表文章
    Web设计
  • 原文地址:https://www.cnblogs.com/648-233/p/10804548.html
Copyright © 2011-2022 走看看