- 博客(154)
- 收藏
- 关注
原创 QT | 信号与槽(超详解)
在 Qt 中,用户与控件的每次交互都构成一个事件,如 “用户点击按钮”“用户关闭窗口” 等。每个事件都会发出相应信号,像点击按钮会发出 “按钮被点击” 信号,关闭窗口会发出 “窗口被关闭” 信号。Qt 里的所有控件都具备接收信号的能力,且一个控件可接收多个不同信号。对于接收到的信号,控件会做出相应响应动作,这种响应动作在 Qt 中被称为槽。例如,按钮所在窗口接收到 “按钮被点击” 信号后,可能做出 “关闭自己” 的响应;
2025-03-09 23:38:37
1584
72
原创 Qt基础入门-详解
Qt 开发工具多样,常用的有Qt Creator、Visual Studio 和 Eclipse。Qt Creator 专为 Qt 开发设计,是轻量级跨平台集成开发环境(IDE),集成了可视化界面设计器、代码编辑器、调试工具等,功能强大且易用,后续学习将以它为主。Visual Studio 由微软开发,可开发多种类型应用,支持多种编程语言,功能丰富。Eclipse 是跨平台自由 IDE,最初用于 Java 开发,通过插件也能用于 Qt 开发Qt 应用程序,涵盖普通窗体程序和 QtQuick 程序。
2025-03-03 17:52:33
1017
29
原创 哈希封装unordered_map/unordered_set
前言看这篇博客之前请先看:💓 个人主页:普通young man-优快云博客⏩ 文章专栏:C++_普通young man的博客-优快云博客⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com若有问题 评论区见📝本篇博客需要讲解的比较少,主要是配合上文写的。
2025-02-27 22:43:43
1095
9
原创 C++ | 哈希表
前言💓 个人主页:普通young man-优快云博客⏩ 文章专栏:C++_普通young man的博客-优快云博客⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com若有问题 评论区见📝。
2025-02-27 15:23:30
1199
9
原创 C++ | 红黑树
前言💓 个人主页:普通young man-优快云博客⏩ 文章专栏:C++_普通young man的博客-优快云博客⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com若有问题 评论区见📝。
2025-01-28 01:24:47
907
18
原创 C++ | AVL树
AVL树/AVL树 · 普通小青年/c++学习 - 码云 - 开源中国 (gitee.com)AVL树通过维护每个节点的平衡因子来保持树的平衡状态。当插入,如果发现某节点的平衡因子不在{-1, 0, 1}范围内,则需要根据具体情况选择适当的旋转策略来进行调整,以恢复树的平衡性。每个节点都有一个平衡因子(balance factor, BF),它定义为该节点的左子树高度减去右子树高度:平衡因子的可能值为 -1、0 或 1。如果平衡因子的绝对值大于1,则表示树不平衡,需要进行旋转调整。。
2024-10-18 13:08:59
1266
16
原创 C++ | set / map(详解)
特性/操作描述声明底层实现使用红黑树(Red-Black Tree),保证插入、删除和查找操作的时间复杂度为 O(log N)。默认比较默认使用,即元素按照升序排列。自定义比较可以通过第二个模板参数传递自定义的比较函数对象。内存管理默认使用管理内存,可以通过第三个模板参数自定义内存分配策略。插入- 插入值val,如果已存在则不插入。删除- 删除指定迭代器指向的元素。- 删除键值为k的元素。- 删除所有元素。查找- 查找键值为k的元素。- 返回键值为k。
2024-10-14 19:15:41
1282
12
原创 C++ | 二叉搜索树
目录 二叉搜索树的概念二叉搜索树的性能分析最优情况最差情况平均情况二分查找对比平衡二叉搜索树二叉搜索树的插入二叉搜索树的查找二叉搜索树的删除二叉搜索树的实现代码BSTNode 类BSTree 类内部细节辅助函数二叉搜索树key使用场景场景1:小区无人值守车库场景2:英文文章单词拼写检查二叉搜索树key和key/value使用场景场景1:简单的中英互译字典场景2:商场无人值守车库场景3:统计文章中单词出现的次数key/value代码实现BSTNode 类BSTree 类内部细节 二叉搜索树(B
2024-09-20 14:58:27
1197
15
原创 C++ | 多态
多态的构成需要满足一定的条件。在面向对象编程中,多态是指在一个继承关系下,不同的类对象调用同一个函数时产生了不同的行为。例如,Student 类继承自 Person 类,Person 对象购买车票时需要支付全价,而 Student 对象则可以享受折扣票价。必须通过基类(父类)的指针或引用调用虚函数:这是因为只有基类的指针或引用能够同时指向基类和派生类的对象,从而实现多态的效果。被调用的函数必须是虚函数:这意味着在基类中声明为虚函数的成员函数可以在派生类中被重写(覆盖)。
2024-09-16 01:45:23
1299
18
原创 C++ | 继承
继承(inheritance)机制是面向对象程序设计中使代码能够复用的最重要手段。它允许我们在保持原有类特性的基础上进行扩展,通过添加新的方法(成员函数)和属性(成员变量)来创建新的类,这种新类被称为子类。继承呈现了面向对象程序设计的层次结构,并体现了从简单到复杂的认知过程。与以往接触的函数级别的复用不同,继承实现了类设计层面的复用。概念继承允许我们基于已有的类(父类或基类)创建新的类(子类或派生类)。子类继承父类的特性,并可以添加自己的特性。示例假设我们有两个类Student和Teacher。
2024-08-21 18:25:59
1426
22
原创 c++ | 模板进阶
C++模板是一种强大的功能,它允许开发者编写泛型代码,从而提高代码的重用性和灵活性。本文将探讨非类型模板参数的概念及其限制,以及模板特化的方法,包括函数模板特化和类模板特化。模板是C++语言的重要特性,它提供了代码重用的强大手段。然而,使用模板也需要注意其局限性,如非类型模板参数的限制、模板特化的正确使用等。通过合理利用模板特化,我们可以解决特定类型的问题,使得代码更加灵活和高效。
2024-08-17 14:52:20
1197
5
原创 C++ | stack/queue
栈是一种容器适配器,专门用于在 LIFO(后进先出)上下文中操作。在这种上下文中,元素从容器的一端插入(压栈),也是从同一端提取(弹栈)。队列是一种容器适配器,专门用于在 FIFO(先进先出)上下文中操作。在这种上下文中,元素从容器的一端插入(入队),从另一端提取(出队)。优先级队列是一种特殊的队列,其中元素按照一定的优先级顺序排列。在默认情况下,优先级队列使用最大堆(大顶堆)来实现,这意味着队列中的最大元素位于队列的前端。仿函数是一种特殊类型的类,它重载了函数调用运算符operator()。
2024-08-15 17:45:59
1111
7
原创 leetcode-vector
118. 杨辉三角 - 力扣(LeetCode)https://leetcode.cn/problems/pascals-triangle/电话号码组合17. 电话号码的字母组合 - 力扣(LeetCode)https://leetcode.cn/problems/letter-combinations-of-a-phone-number/description/26. 删除有序数组中的重复项 - 力扣(LeetCode)https://leetcode.cn/problems/re
2024-08-10 17:14:58
993
6
原创 C++ | list
kw=list这里可以看出list是一个双向带环的链表list_nodelist该实现提供了一个简单的双向链表,支持基本的操作,如插入、删除、遍历等。它还包含了一些辅助函数,比如Print_t用于打印链表内容,以及一个测试函数test1来展示如何使用这些功能。
2024-08-10 16:40:31
1384
4
原创 C++ | vector
kw=vector这个是一个c++的文档,可以根据这里面的介绍来合理的运用接口: 定义了一个命名空间yang,用来避免与其他部分的程序或标准库中的名字发生冲突。: 定义了一个名为vector的类模板,它可以为任何数据类型T实例化。: 定义了一个非常量迭代器的类型别名。: 定义了一个常量迭代器的类型别名。
2024-08-05 18:39:03
1259
9
原创 C++类和对象-牛客OJ
这段代码利用了静态成员变量来保持状态,并使用嵌套类来实现一个简单的累加器。Sum类的对象创建过程中,会累加一个全局的计数器_ret,每次创建对象时都会增加_i的值,并将_i加到_ret上。最终返回的是_ret的值,即所有Sum对象创建过程中累加的总和。
2024-08-05 12:27:59
1112
1
原创 letcode - string
字符串最后一个单词的长度_牛客题霸_牛客网 (nowcoder.com)string str;//这个接口可以指定换行符才读取结束//利用rfind找最后一个空格//输出长度引入必要的头文件引入输入输出流库,使得我们可以使用std::cin和std::cout。引入字符串处理库,使得我们可以使用类。使用命名空间使得我们可以直接使用std命名空间下的标识符,如coutcin和string。主函数定义int main()定义了程序的入口点。读取输入定义一个类型的变量str。
2024-07-31 00:52:42
815
7
原创 C++ | string
在C++中,类是用于处理文本字符串的一个非常强大的工具。它定义在头文件中,并且是标准模板库 (STL) 的一部分。提供了一种方便的方式来存储和操作字符序列,使得开发人员能够轻松地执行常见的字符串操作,而不需要直接管理内存。auto在 C++11 中用于简化类型声明,使代码更简洁。使用auto时要注意变量类型的一致性和正确性。auto不能用于声明函数参数或直接声明数组。
2024-07-31 00:08:13
727
5
原创 c++模板初识,STL简介
class 类模板名// 类内成员定义这边我直接用类模板写一个栈,你就知道他有多爽多方方便了public:_size = 0;_arr = tmp;int _size;//实例化模板//int//doubles1.Push(1);s1.Push(2);如果是以前C语言是不是得写几个函数才能传不同类型,这里自己就可以实例化不同类型得类。
2024-07-20 14:06:55
1495
7
原创 c++类和对象(中)
构造函数,你觉得他是干什么的?开空间?其实不然,构造函数起的是一个初始化的作用,而是在我们对象创建的时候,对他初始化,如过大家看过我前面的博客就知道前面我写栈和队列的时候调用的Init函数,其实构造函数替代的就是这个Init函数(初始化)。赋值运算符重载是用于实现类对象间赋值操作的重要机制。它确保了资源管理的正确性和效率,特别是在处理动态资源或复杂数据结构时。明确理解何时需要手动实现深拷贝是设计健壮、资源高效类的关键部分。if (*this!= d)
2024-07-15 20:36:35
676
4
原创 C++类和对象(上)
定义使用class关键字开始。类名通常首字母大写,例如Stack。类的主体包含在一对花括号{}中。类的定义以分号;结束。成员成员变量:类中的变量,有时被称为属性。习惯上,这些变量会以特定的前缀或后缀标识,如或m_前缀,但这不是语言强制的,而是编程风格或公司规范的一部分。成员函数:类中的函数,也称为方法。成员函数可以访问和操作类的属性。访问控制默认情况下,class的成员是私有的(private成员可以被标记为publicprotected或private来控制其可访问性。内联函数。
2024-07-10 21:58:27
1295
5
原创 C++入门基础
namespace 命名 {// 命名空间内的定义除了函数局部域、全局域、命名空间域和类域之外,C++中还有文件作用域、命名空间作用域、类作用域等,它们共同构成了C++的命名系统。每个域不仅影响着编译器如何解析标识符,还可能影响到变量的生命周期和可见性,但需要注意的是,命名空间域和类域本身并不改变其内部变量的生命周期。这里提到的域,我相信大家应该都懂,作用域不一样,所以就不会一样,YM::rand 就是访问YM这个命名空间域里面的randint x = 10;int x = 20;
2024-07-08 20:12:16
1181
8
原创 外排序(C语言实现)
Swap:用于交换两个整型指针所指向的值。:实现了“三数取中”策略,用于在数组的一段范围内找出中位数的索引,以优化快速排序的性能。它通过比较数组两端和中间三个元素的值来决定返回哪个索引。
2024-06-23 17:48:45
1264
6
原创 八大经典排序算法
深入探讨了八大排序算法——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、以及我们刚刚详析的计数排序之后,我们不仅掌握了一系列解决排序问题的有效策略,更深刻理解了算法设计背后的逻辑与权衡。每种算法,如同八音盒中的音符,各有其独特的旋律与应用场景,它们共同编织了计算机科学领域中关于“排序”这一基本问题的华丽乐章。数据结构-堆(带图)详解-优快云博客。栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。
2024-06-20 23:50:49
1939
13
原创 旅游网页(HTML+CSS+JS)
前言本篇博客就不给大家讲解了,直接上代码💓 个人主页:普通young man-优快云博客⏩ 文章专栏:若有问题 评论区见📝。
2024-06-11 14:19:57
2284
5
原创 手机网页(HTML+CSS)
前言本篇博客就不给大家讲解了,直接上代码💓 个人主页:普通young man-优快云博客⏩ 文章专栏:若有问题 评论区见📝。
2024-06-11 13:57:03
1119
2
原创 leetcode-平衡二叉树
前言本篇博客我们来仔细说一下二叉树二叉树的一些OJ题目请看完上一篇:数据结构-二叉树-优快云博客💓 个人主页:普通young man-优快云博客⏩ 文章专栏:LeetCode_普通young man的博客-优快云博客若有问题 评论区见📝做这个题的时候先去看一下那个二叉树的高度,我先还没想到那里去,后面看了一下题解就明白了,现在我把我的理解写成博客分享给大家。
2024-06-10 18:57:38
569
4
原创 leetcode- 翻转二叉树
前言本篇博客我们来仔细说一下二叉树二叉树的一些OJ题目请看完上一篇:数据结构-二叉树-优快云博客💓 个人主页:普通young man-优快云博客⏩ 文章专栏:LeetCode_普通young man的博客-优快云博客若有问题 评论区见📝。
2024-06-10 17:04:33
463
2
原创 数据结构-堆(带图)详解
节点:二叉树的基本组成单位,每个节点可以包含一个数据元素以及指向其左右子节点的引用。根节点:树的顶端节点,没有父节点。叶子节点:没有子节点的节点。度:节点的子节点数量,二叉树中节点的度不超过2。父子关系与兄弟关系:与一般树相同,每个节点(除了根)有唯一的父节点,同一父节点的子节点互为兄弟。
2024-06-01 21:41:48
1393
6
原创 Leetcode-用队列实现栈(带图详解)
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(myStack.empty();// 返回 False。
2024-05-18 16:08:19
554
13
原创 数据结构-队列(带图详解)
链表是一种基本的数据结构,它用于存储一系列元素(节点),每个节点不仅包含数据元素,还包含一个指向下一个节点的指针。在链表中,数据并非连续地存储在内存中,而是通过每个节点的指针链接起来形成一个逻辑上的线性序列通过前面我们学习的顺序表我们现在延伸一个链表我们会发现顺序表的一些缺点。:顾客在超市收银台前排队等待付款,先到的顾客先完成结账离开,后来的顾客依次跟进。:在餐厅,特别是快餐店,顾客排队等待点餐和取餐,先排队的顾客先完成点餐流程。:在办公室,多个人提交打印任务时,打印机会按照任务提交的顺序依次执行打印。
2024-05-17 23:40:30
1485
13
原创 数据结构-栈(带图)
栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。遵循后进先出(Last In, First Out, LIFO)原则,即最后存入栈中的元素最先被取出。形象地讲,栈就像是生活中堆放盘子的架子,我们总是把新的盘子放在最上面,而需要拿盘子时也是从最上面开始拿。
2024-05-16 13:39:49
1221
15
原创 探索未来:IT行业的革新脉动与明日图景
面对新兴技术的快速迭代,传统的教育模式正经历前所未有的转型。AI与机器学习的最新进展聚焦于深度学习的优化、自动化机器学习(AutoML)以及可解释性研究,这些进步使得AI在自动化生产流程、个性化服务定制、精准医疗诊断和智慧城市管理等方面的应用更加广泛且高效。正在从理论走向实践的边缘,它预示着计算能力的指数级飞跃,将为药物发现、气候模拟、加密安全等众多领域带来革命性的解决方案。随着AI影响力的扩大,确保技术的伦理使用、保护数据隐私、实现算法公平性和透明度,成为了不容忽视的议题。方向一:技术革新与行业应用。
2024-05-13 11:53:09
377
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人