STEMHA
student
China
文章
78
分类
14
标签
105
读书笔记
C++
软件工程
STL中并没有把heap作为一种容器组件,heap的实现亦需要更低一层的容器组件(诸如list,array,vector)作为其底层机制。
Heap是一个类属算法,包含在< algorithm >中。
STL中关于heap默认调整成的是大顶堆,可以用自定义的compare_fuction函数实现大顶堆或小顶堆。
heap的低层机制vector本身就是一个类模板,heap基于vector便实现了对各种数据类型(无论基本数据类型还是用户自定义的数据类型)的堆排(前提是用户自定义的数据类型要提供比较机制compare_fuction函数)。
标准库 string 类型:string 类型支持长度可变的字符串,C++ 标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。size_type是一个依赖于实现的整型,是在string中定义的。string类将string::npos定义为字符串的最大长度,通常为unsigned int的最大值。另外,使用缩写NBTS(null-terminated string)来表示以空字符结束的字符串。
string::npos
NBTS(null-terminated string)
Deque(双向队列)
默认的stack 和 queue 都基于 deque 容器实现, priority_queue 则基于 vector 容器实现。对于给定的适配器,其关联的容器必须满足一定的约束条件。
函数声明
12345
template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); template <class RandomAccessIterator, class Compare> void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
list
map
pair
123
# include<utility>或者# include<map>
set是一个关联容器类型,用于以升序方式存储唯一值。
priority_queue容器适配器定义了一个元素有序排列的队列。
priority_queue容器适配器
Update your browser to view this website correctly. Update my browser now
×