![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL容器
文章平均质量分 95
STL容器文章专栏
sponge'
本人即将考研,学习领域覆盖C++,linux,我的大部分博客都万字以上,希望大家多多支持
展开
-
C++: string讲解 前序
typedef basic_string<char> string; (string是一个类模板)1.解释:Strings are objects that represent sequences of characters. (strings 是顺序的字母)头文件:#include (不加.h,C语言中有string.h,防止和C语言的重复)2.作用:管理动态增长字符数组,这个字符串以\0结尾string(); 是无参的构造函数。string (const char*........原创 2022-07-05 10:32:59 · 5002 阅读 · 13 评论 -
C++:string类(模拟实现) 后序
string.h test.cpp有指向资源,浅拷贝s1和s2指向同一空间,会导致这块空间被析构两次;所以务必用深拷贝=赋值函数当s1=s3正常使用没问题,先把s1的存字符串的空间清除: delete[] _str; ,新开一块跟s3一样大小的空间,再把s3的内容拷贝给s1。若s1=s1就有问题,先把s1的存字符串的空间清除: delete[] _str; ,新开一块跟s1一样大小的空间,再把s1的内容拷贝给s1自己时,因为s1已经清除,所以全是随机值。................原创 2022-07-12 12:33:37 · 497 阅读 · 7 评论 -
C++:vector讲解【前序】
定义可以动态增长的数组。原创 2022-07-20 19:17:47 · 2235 阅读 · 9 评论 -
C++:vector类【后序】(模拟实现)+深拷贝
(1)vector.h文件中用到cout,但没包头文件#include可以吗?——可以(2)C++中内置类型也可以认为有构造函数 析构函数(3)迭代器失效①insert函数中迭代器pos失效②insert传参是值拷贝导致的it迭代器失效(3)it指向位置意义改变也称为迭代器失效...........................原创 2022-07-23 23:01:23 · 3058 阅读 · 9 评论 -
C++:stl_List的介绍与模拟实现
stl_List的介绍与模拟实现原创 2022-07-27 22:10:13 · 616 阅读 · 16 评论 -
C++:栈与队列,优先级队列(+仿函数,反向迭代器,typename)
优先级队列的问题优先级队列默认大的优先级高,传的是less仿函数,底层是一个大堆;想控制小的优先级高,传greater仿函数,底层是一个小堆。这个反过来的,算是设计的一个失误。(实际上less——大堆,greater——小堆,greater可理解为小堆下面越来越大)...........................原创 2022-07-31 11:17:46 · 747 阅读 · 6 评论 -
C++:搜索二叉树
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:①若它的左子树不为空,则左子树上所有节点的值都小于根节点的值②若它的右子树不为空,则右子树上所有节点的值都大于根节点的值③它的左右子树也分别为二叉搜索树即:任意一个子树都需要满足,左子树的值........................原创 2022-08-16 18:38:03 · 916 阅读 · 12 评论 -
C++:map和set
set 是一个K模型的搜索二叉树 #includemap是KV模型的搜索二叉树,insert和[]用法是重点,其他用法参考set用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。比如:现在要建立一个英汉互译的字典,那该字典中必然有英文单词与其对应的中文含义,而且,英文单词与其中文含义是一一对应的关系,即通过该应该单词,在词典中就可以找到与其对应的中文含义。............原创 2022-08-18 13:11:15 · 3587 阅读 · 7 评论 -
C++:AVL树
二叉搜索树虽可以缩短查找的效率,但。原创 2022-08-19 14:17:41 · 965 阅读 · 6 评论 -
C++:红黑树
1.红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。(最长的路径不超过最短路径的2倍,近似平衡)2.红黑树的性质1.每个结点不是红色就是黑色2.根节点是黑色的3. 如果一个节点是红色的,则它的两个孩子结点是黑色的(没有连续的红色节点)原创 2022-08-21 23:27:46 · 1688 阅读 · 5 评论 -
C++:哈希,unordered_map和unordered_set
unordered_map和unordered_set和map/set用法一样,不同就是unordered_map和unordered_set不排序,map/set自动排序。原创 2022-09-07 15:45:24 · 2633 阅读 · 5 评论