标签: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