标签: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 的底层使用红黑树这个数据结构来维护集合。 
( 一种很麻烦的平衡树,
平衡的树结构
每个节点左右子树节点数差不多
          
)
 
返回的大部分是迭代器
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可以实现
 
把第一维度作为下标,值是第二维 ,第一维度必须可排序
 



 
   栈

 
 
 队列


 
 优先队列
标签:variable stl treap nts info 平衡树 targe 类型 nbsp
原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/10804676.html