C++ STL
文章平均质量分 74
C++ STL
Pfirsich Zhang
这个作者很懒,什么都没留下…
展开
-
哈希表、红黑树
哈希表的底层实际上是基于来存储的,当插入时,并不是直接插入该数组中,而是通过对键进行得到Hash值,然后和,得到后再插入。取值时,先对指定的键求Hash值,再和容量取模得到底层数组中对应的位置,如果指定的键值与存贮的键相匹配,则返回该键值对,如果不匹配,则表示哈希表中没有对应的键值对。这样做的好处是,当然这种是最极端的情况,极少遇到。原创 2024-09-05 09:50:10 · 910 阅读 · 0 评论 -
C++ stack、queue和deque
首先大家要知道 栈和队列是STL(C++标准库)里面的两个数据结构。C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。那么来介绍一下,三个最为普遍的STL版本:HP STL 其他版本的C++ STL,一般是以HP STL为蓝本实现出来的,HP STL是C++ STL的第一个实现版本,而且开放源代码。P.J.Plauger STL 由P.J.Plauger参照HP STL实现出来的,被Visual C++编译器所采用,不是开源的。原创 2024-05-21 15:22:37 · 579 阅读 · 0 评论 -
求一个vector中的最大值/最小值及其位置
使用max_element和min_element。原创 2024-05-15 15:32:43 · 137 阅读 · 0 评论 -
vector<pair<char, char>>
功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。类模板:template struct pair。参数:T1是第一个值得数据类型,T2是第二个值的数据类型。map会对插入的元素按键自动排序,而且不允许键重复。vector的这种用法不会自动排序,而且允许重复。由传递给它的两个实参生成一个新的pair对象。vector的这种用法有点类似于map。原创 2024-05-13 10:44:57 · 333 阅读 · 0 评论 -
C++ vector和string互相转换
输入一串字符串,以空格为区分,回车为结束,来组合成一个vector在此处输入使用了() 函数,它可以保留空格,使用 cin 遇到空格会结束,还需注意,若在 getline 之前有 cin 操作可能会有缓存,可在 getline 之前加 cin.ignore() 解决该问题。原创 2024-05-19 15:21:36 · 514 阅读 · 1 评论