- 博客(136)
- 收藏
- 关注
原创 c++模板初识,STL简介
class 类模板名// 类内成员定义这边我直接用类模板写一个栈,你就知道他有多爽多方方便了public:_size = 0;_arr = tmp;int _size;//实例化模板//int//doubles1.Push(1);s1.Push(2);如果是以前C语言是不是得写几个函数才能传不同类型,这里自己就可以实例化不同类型得类。
2024-07-20 14:06:55 1263 7
原创 c++类和对象(中)
构造函数,你觉得他是干什么的?开空间?其实不然,构造函数起的是一个初始化的作用,而是在我们对象创建的时候,对他初始化,如过大家看过我前面的博客就知道前面我写栈和队列的时候调用的Init函数,其实构造函数替代的就是这个Init函数(初始化)。赋值运算符重载是用于实现类对象间赋值操作的重要机制。它确保了资源管理的正确性和效率,特别是在处理动态资源或复杂数据结构时。明确理解何时需要手动实现深拷贝是设计健壮、资源高效类的关键部分。if (*this!= d)
2024-07-15 20:36:35 597 4
原创 C++类和对象(上)
定义使用class关键字开始。类名通常首字母大写,例如Stack。类的主体包含在一对花括号{}中。类的定义以分号;结束。成员成员变量:类中的变量,有时被称为属性。习惯上,这些变量会以特定的前缀或后缀标识,如或m_前缀,但这不是语言强制的,而是编程风格或公司规范的一部分。成员函数:类中的函数,也称为方法。成员函数可以访问和操作类的属性。访问控制默认情况下,class的成员是私有的(private成员可以被标记为publicprotected或private来控制其可访问性。内联函数。
2024-07-10 21:58:27 1206 5
原创 C++入门基础
namespace 命名 {// 命名空间内的定义除了函数局部域、全局域、命名空间域和类域之外,C++中还有文件作用域、命名空间作用域、类作用域等,它们共同构成了C++的命名系统。每个域不仅影响着编译器如何解析标识符,还可能影响到变量的生命周期和可见性,但需要注意的是,命名空间域和类域本身并不改变其内部变量的生命周期。这里提到的域,我相信大家应该都懂,作用域不一样,所以就不会一样,YM::rand 就是访问YM这个命名空间域里面的randint x = 10;int x = 20;
2024-07-08 20:12:16 1067 8
原创 外排序(C语言实现)
Swap:用于交换两个整型指针所指向的值。:实现了“三数取中”策略,用于在数组的一段范围内找出中位数的索引,以优化快速排序的性能。它通过比较数组两端和中间三个元素的值来决定返回哪个索引。
2024-06-23 17:48:45 1189 6
原创 八大经典排序算法
深入探讨了八大排序算法——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、以及我们刚刚详析的计数排序之后,我们不仅掌握了一系列解决排序问题的有效策略,更深刻理解了算法设计背后的逻辑与权衡。每种算法,如同八音盒中的音符,各有其独特的旋律与应用场景,它们共同编织了计算机科学领域中关于“排序”这一基本问题的华丽乐章。数据结构-堆(带图)详解-CSDN博客。栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。
2024-06-20 23:50:49 1247 11
原创 旅游网页(HTML+CSS+JS)
前言本篇博客就不给大家讲解了,直接上代码💓 个人主页:普通young man-CSDN博客⏩ 文章专栏:若有问题 评论区见📝。
2024-06-11 14:19:57 896 3
原创 手机网页(HTML+CSS)
前言本篇博客就不给大家讲解了,直接上代码💓 个人主页:普通young man-CSDN博客⏩ 文章专栏:若有问题 评论区见📝。
2024-06-11 13:57:03 358 2
原创 leetcode-平衡二叉树
前言本篇博客我们来仔细说一下二叉树二叉树的一些OJ题目请看完上一篇:数据结构-二叉树-CSDN博客💓 个人主页:普通young man-CSDN博客⏩ 文章专栏:LeetCode_普通young man的博客-CSDN博客若有问题 评论区见📝做这个题的时候先去看一下那个二叉树的高度,我先还没想到那里去,后面看了一下题解就明白了,现在我把我的理解写成博客分享给大家。
2024-06-10 18:57:38 446 4
原创 leetcode- 翻转二叉树
前言本篇博客我们来仔细说一下二叉树二叉树的一些OJ题目请看完上一篇:数据结构-二叉树-CSDN博客💓 个人主页:普通young man-CSDN博客⏩ 文章专栏:LeetCode_普通young man的博客-CSDN博客若有问题 评论区见📝。
2024-06-10 17:04:33 351 2
原创 数据结构-堆(带图)详解
节点:二叉树的基本组成单位,每个节点可以包含一个数据元素以及指向其左右子节点的引用。根节点:树的顶端节点,没有父节点。叶子节点:没有子节点的节点。度:节点的子节点数量,二叉树中节点的度不超过2。父子关系与兄弟关系:与一般树相同,每个节点(除了根)有唯一的父节点,同一父节点的子节点互为兄弟。
2024-06-01 21:41:48 1215 6
原创 Leetcode-用队列实现栈(带图详解)
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(myStack.empty();// 返回 False。
2024-05-18 16:08:19 495 11
原创 数据结构-队列(带图详解)
链表是一种基本的数据结构,它用于存储一系列元素(节点),每个节点不仅包含数据元素,还包含一个指向下一个节点的指针。在链表中,数据并非连续地存储在内存中,而是通过每个节点的指针链接起来形成一个逻辑上的线性序列通过前面我们学习的顺序表我们现在延伸一个链表我们会发现顺序表的一些缺点。:顾客在超市收银台前排队等待付款,先到的顾客先完成结账离开,后来的顾客依次跟进。:在餐厅,特别是快餐店,顾客排队等待点餐和取餐,先排队的顾客先完成点餐流程。:在办公室,多个人提交打印任务时,打印机会按照任务提交的顺序依次执行打印。
2024-05-17 23:40:30 1357 13
原创 数据结构-栈(带图)
栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。遵循后进先出(Last In, First Out, LIFO)原则,即最后存入栈中的元素最先被取出。形象地讲,栈就像是生活中堆放盘子的架子,我们总是把新的盘子放在最上面,而需要拿盘子时也是从最上面开始拿。
2024-05-16 13:39:49 955 15
原创 探索未来:IT行业的革新脉动与明日图景
面对新兴技术的快速迭代,传统的教育模式正经历前所未有的转型。AI与机器学习的最新进展聚焦于深度学习的优化、自动化机器学习(AutoML)以及可解释性研究,这些进步使得AI在自动化生产流程、个性化服务定制、精准医疗诊断和智慧城市管理等方面的应用更加广泛且高效。正在从理论走向实践的边缘,它预示着计算能力的指数级飞跃,将为药物发现、气候模拟、加密安全等众多领域带来革命性的解决方案。随着AI影响力的扩大,确保技术的伦理使用、保护数据隐私、实现算法公平性和透明度,成为了不容忽视的议题。方向一:技术革新与行业应用。
2024-05-13 11:53:09 335 4
原创 Leetcode- 随机链表的复制
138. 随机链表的复制 - 力扣(LeetCode)138. 随机链表的复制 - 力扣(LeetCode)
2024-05-04 04:00:00 1249 8
原创 Leetcode—环形链表
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。这道题的代码很好写,就是快慢指针的思想,但是后面需要自己证明一下。来表示链表尾连接到链表中的位置(索引从 0 开始)。我们走一步我们会发现我们的n会不停的减1看图。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。这个是偶数的一个情况,我们还有奇数的情况。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。这个情况是为-1的情况。
2024-05-03 21:05:05 476
原创 数据结构:时间复杂度/空间复杂度
时间复杂度,简而言之,是指执行算法所需要的计算工作量随着问题规模(通常是输入数据的大小)增长的变化趋势。它关注的是算法运行时间与输入数据规模之间的关系,通常用大O符号表示(O(n)),忽略掉常数项、低阶项以及最高阶的系数。空间复杂度衡量的是算法在运行过程中临时占用存储空间大小的变化情况,同样与问题规模有关。这包括了算法本身占用的空间以及算法运行过程中需要的额外空间。空间复杂度衡量的是算法在运行过程中临时占用存储空间大小的变化情况,同样与问题规模有关。
2024-05-03 19:53:22 1155 12
原创 牛客-OR36 链表的回文结构
对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。给定一个链表的头指针。
2024-04-28 20:25:15 340 1
原创 Leetcode-面试题 02.02. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。1->2->3->4->5 和。最终我们的tail就走到这个节点。本题相对原题稍作改动。
2024-04-28 19:51:12 300 3
原创 牛客-OR63 删除公共字符
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
2024-04-27 17:44:45 210 1
原创 Leetcode-17.04. 消失的数字
的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?本题相对书上原题稍作改动。
2024-04-27 10:52:18 254 1
原创 C语言—贪吃蛇(链表)超详解
句柄(Handle)是计算机科学中的一个概念,它在Windows操作系统环境中被广泛使用。简单来说,句柄是一种抽象的、唯一的标识符,用于指向并操作系统内特定的对象或资源,如文件、窗口、进程、设备等。为了帮助您更好地理解句柄的概念,我们可以用一个生动的比喻来解释:假设您养了一群鸭子,每只鸭子都有一个独特的脚环,上面刻有唯一编号。唯一标识:每个鸭子脚环上的编号都是独一无二的,就像句柄标识系统内的每一个对象一样。通过这个编号(句柄),您可以快速准确地识别出特定的鸭子(对象)。操作鸭子。
2024-04-24 15:59:50 2938 15
原创 宽字符的来历:从ASCII到Unicode,C语言中的宽字符处理
宽字符作为Unicode在C语言中的具体实现形式,极大地扩展了编程语言对全球多语种字符的支持能力。虽然在实际应用中还需考虑编码转换、平台差异等问题,但宽字符无疑为构建跨语言、跨文化的软件系统奠定了坚实基础。理解并熟练运用宽字符,是现代C程序员必备的技能之一。
2024-04-24 14:50:07 810 1
原创 牛客-小乐乐与欧几里得
小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。
2024-04-20 21:34:45 376 2
原创 数据结构-双链表(图解)
双链表是一种常用且重要的线性数据结构,它在计算机科学和软件工程中扮演着不可或缺的角色。相较于单链表,双链表的每个节点包含两个指针,分别指向其前驱节点(previous node)和后继节点(next node),这一特性使得双链表在数据操作上具有更高的灵活性。
2024-04-20 21:28:50 1774 3
原创 leetcode-分割链表
提示给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有x的节点都出现在x的节点之前。你不需要每个分区中各节点的初始相对位置。
2024-04-18 00:00:00 834
原创 牛客-环形链表的约瑟夫问题
编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少?进阶:空间复杂度 �(1)O(1),时间复杂度 �(�)O(n)数据范围: 1≤�,�≤100001≤n,m≤10000。下一个人继续从 1 开始报数。
2024-04-17 02:30:00 364
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人