zoukankan      html  css  js  c++  java
  • 五一 DAY 6

    五一  DAY 6

     

    TypeName   类型名

    VariableName  变量名


    Part 1 数据结构

    函数库:# include < utility >

    Pair 定义一个变量,它有两个元素 :pair.first    pair.scecond,

                                     这两个元素的类型可以不同

    (类似于结构体)

     

    函数库:#include < string >

    定义一个字符串

         

        a = qing bei                 b = xue tang

        a+b = qing bei zao tang 

       

     

                                                                               //超过内存限制

     所以就用到了vector

    Vector 原理:  倍长

    Vector的内存长度是2n   ,内存是连续的

    演示过程

    读入过程:

    取数过程:

     

     

      迭代器返回的是(下标),不是对应值

     

            在指针上加*,得到值

           

            支持自增运算

     

    遍历  vector :

     

     

        STL 要求 set 必须有序

     

       Set类型可以定义为任何可以排序的类型

      Set 的底层使用红黑树这个数据结构来维护集合。

          ( 一种很麻烦的平衡树

               平衡的树结构

               每个节点左右子树节点数差不多

               常见有红黑树AVL替罪羊树Treap伸展树

              

           )

     

    返回的大部分是迭代器

     set具有鲁棒性

          内存不连续

    双向迭代器(建议百度)

    常见操作:

     

       set 不会出现  1 2 2 3 3 4    只能是1 2 3 4

     multiset  可以   1 2 2 3 3 4

     

    比如:1 2 2 3 3 4 

    我们删除 2    就变为: 1 3 3 4

    想只删一个数字,就删去它他的迭代器

    一维数组一定不会支持这种操作,一维数组的下标只能是数字

    然鹅  map可以实现

     

       把第一维度作为下标,值是第二维 ,第一维度必须可排序

     

      

        栈    [ FILO ] first in last out

     

      

        队列   [ FIFO ] first in first out

      

       优先队列    本质是大根堆

     

    要做小根堆怎么办??

     

     

    注意:

    1.大于比较 小根堆   (小于比较  大根堆)

    2.

         第一个 int 是priority_queue的类型

         第二个 vector<int> 是存储数据的结构 一般用vector

         第三个 cmp 是比较函数

    3.Priority Queue  重载 运算符 

       Cmp 重载()运算符

       Map  重载[ ]

    4.等价于

    5.优先队列比 set 慢

     Part 2    Algorithm(函数)

       

          左闭右开

     

     

       按照输入的顺序倒序输出

    Unique

     对已经拍好顺序的数组去重

     

    找到a的下一个排列

    (是否还能找到下一个排列)

     

    所以可以实现全排列QVQ

    比较次数不会超过 。。han ning ju li

    Fill函数可以赋值任何数

    可以作为memset的替换

    但是没有memset快

        O(n)

     

       左闭右开

       

      

        4 放到该放位置,比它小的在前,比它大的在后,但不保证顺序

     

      随机重排

     随机种子

    实现得到随机排列


    下午考试:

    五一    考试二

     暴力出奇迹!!!rank 4!!!


    扩充知识:

     

    析构:释放内存

    构造函数:

    类名

    操作

     赋值构造函数

     

     


    IN THE END

    咳咳咳你看这个网站它又大又圆

    http://bytew.net/OIer/

    http://www.cplusplus.com/reference/vector/vector/?kw=vector

  • 相关阅读:
    Hive函数大全
    SparkSQL与Hive on Spark
    Hadoop安装—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platf
    centos7配置防火墙
    hive使用
    SPOOL 命令使用实例【oracle导出纯文本格式文件】
    IP 跟踪
    chinaunix---linux教程
    Python语言获取目录下所有文件
    m
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/10804676.html
Copyright © 2011-2022 走看看