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

  • 相关阅读:
    ionic2项目中实现md5加密
    ionic2中使用极光IM的WebSDK实现即时聊天
    react-native清除android项目缓存的命令
    在react-native项目中使用iconfont自定义图标库
    ionic2中使用videogular2实现m3u8文件播放
    vue-video-player集成videojs-contrib-hls实现.m3u8文件播放
    react组件生命周期
    在vue2中隐藏elementUI的tab栏
    Spark2.1.0——Spark初体验
    Spark2.1.0——运行环境准备
  • 原文地址:https://www.cnblogs.com/648-233/p/10804548.html
Copyright © 2011-2022 走看看