码迷,mamicode.com
首页 > 其他好文 > 详细

五一 DAY 6

时间:2019-05-03 14:32:02      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:variable   stl   treap   nts   info   平衡树   targe   类型   nbsp   

 

五一  DAY 6

 

TypeName   类型名

VariableName  变量名

技术图片

技术图片

函数库:# 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可以实现

 

 技术图片

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

 技术图片

技术图片技术图片

 

技术图片

 

 

 

 技术图片   栈

技术图片

 技术图片

 

 

 技术图片 队列

技术图片

技术图片

 

 

 技术图片 优先队列

 

五一 DAY 6

标签:variable   stl   treap   nts   info   平衡树   targe   类型   nbsp   

原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/10804676.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!