- 博客(17)
- 收藏
- 关注
原创 Qt 系统相关
事件非常类似信号槽,用户进行各种操作也会产生事件,程序员同样可以给事件关联上处理函数(处理的逻辑),当事件触发时就能执行到对应的代码。事件本身是操作系统提供的机制 Qt 也同样把操作系统事件机制进行了封装拿到了 Qt 中。但是由于事件对应的代码编写起来不是很方便,所以 Qt 对于事件机制又进行了进一步的封装就得到了信号槽。
2024-09-04 15:18:27
635
原创 AVL 树的插入
二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velski和E.M.Landis在1962年发明了一种解决上述问题的方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。AVL 树的结构要定义一个三叉链,因为它涉及的一个东西,插入一个结点要看它的平衡因子。
2024-08-07 13:43:55
278
原创 二叉搜索树
删除的节点如果有两个孩子,可以用替换法,可以是左子树最大的节点(左子树最右节点),也可以是右子树最小的节点(右子树最左节点)。替换节点赋值给删除节点后删除替换节点,替换节点要么没有孩子,要么只有一个孩子。有了这个特征以后它就有了一个特别大的价值就是搜索。
2024-08-07 13:43:03
251
原创 哈希开散列和闭散列
unordered_set 和 set 的功能是一样的,unordered_map 和 map 的功能是一样的,当然它们也有一些差异,unordered 它提供的是单向迭代器,它还有一些自己独有的接口。它们对比 set 和 map 的区别在于,map 和 set 遍历是有序的,unordered 是无序的, map 和 set 是双向迭代器,unordered 是单向。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log N),搜索的效率取决于搜索过程中元素的比较次数。那如何寻找下一个空位置呢?
2024-08-07 13:38:40
279
原创 模拟实现 C++ string
为了跟库里面的进行区分,可以定义一个命名空间。string 的底层定义有好几种方式。在这我给一个 _str 的指针指向它那个动态开辟的空间,再给一个 _size 和 _capacity。
2024-06-19 15:06:55
755
原创 顺序表&链表
顺序表就是数组,顺序表是用一段连续的物理空间去依次存储数据,它相比数组有个要求它的数据必须是从第一个位置开始连续存储的。链表的本质就是去针对顺序表的劣势去设计的,它可以按需申请空间,并且头部或中间的插入删除也不需要挪动数据,在物理存储上是非连续的,逻辑结构上是连续的。一般用它是用来单独存储数据。在它的任意位置插入删除都是 O(1) ,它几乎克服了顺序表所有的缺点。但它并不能完全替代顺序表,它真正的缺陷在于它不支持随机访问以及缓存利用率。其实链表的本质跟顺序表是相辅相成的。
2024-05-17 15:07:05
691
原创 map 和 set
set 的本质是个 key 的模型(就是确认在不在)构造一个 int 类型的 set,可以用 insert 一个个插入数据来初始化set s;//定义//插入也可以用这个列表或者迭代器的区间来初始化//迭代器区间用迭代器进行遍历 ,也可以用范围 forwhile (it!
2024-04-07 00:08:48
805
原创 C++ 多态
多态的第一个条件是虚函数,virtual 这个关键字在虚继承那边也用过,虽然它们用了同一个关键字,但是这两个关键字之间没有关系,那边是在解决数据冗余和二义性,这边是要实现多态。只有成员函数才能加 virtual ,加了这个 virtual 之后这个函数就叫做虚函数。在虚函数后面写上 = 0,则这个函数为纯虚函数,包含纯虚函数的类叫做抽象类(也叫接口类),抽象类不能实例化出对象,派生类继承后也不能实例化出对象,只有重写纯虚函数,派生类才能实例化出对象,纯虚函数抽象类是间接在这个地方强制你去重写。
2023-05-17 15:01:38
34
原创 C++ 继承
首先,继承的特点是什么呢?实际当中我们会遇到一些问题,比如做个简单的比方,我们要实现一个简单的学校人员管理系统,要设计很多角色,其中基础的角色有学生,老师,后勤,假设学生他有名字,电话,编号,地址,那老师和后勤呢他们也有这些东西,但他们也有属于他们自己独有的信息,比如学生可能还有宿舍号,专业,班级,老师可能还有职称,院系,后勤可能还有职能,正常情况下,我们定义这几个类的时候这里面会有很多重复基本信息。
2023-04-12 14:04:24
49
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人