自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枫の大一分享

能帮助到大家是我最大的开心

  • 博客(45)
  • 收藏
  • 关注

原创 【C++游记】C++11特性

《C++11新特性详解》是一篇系统介绍C++11标准核心特性的技术文章。文章从C++11的发展历史切入,重点讲解了列表初始化、右值引用与移动语义、可变参数模板、新的类功能、Lambda表达式等核心特性。作者通过丰富的代码示例,详细说明了统一初始化语法、移动构造与移动赋值、完美转发等关键技术点的实现原理和应用场景。文章还介绍了C++11在STL容器、算法以及函数式编程方面的改进,包括emplace系列接口、std::function包装器等实用工具。全文内容丰富,结构清晰,既适合初学者系统学习,也能帮助有经验

2025-09-24 20:48:07 963

原创 【C++游记】哈希表封装map与set

本文介绍了基于哈希表实现C++标准库容器unordered_set和unordered_map的方法。文章从SGI-STL源码分析入手,详细讲解了哈希表的核心结构、关键源码框架及模拟实现思路。重点阐述了哈希函数设计、键值提取机制、迭代器实现、动态扩容等关键技术点,并提供了完整的代码实现。通过对比unordered_set和unordered_map的不同实现方式,展示了如何复用同一个哈希表底层结构来支持不同容器特性。最后通过使用示例验证了容器的基本功能,总结了哈希表封装的设计思想和技术要点,为深入理解C++

2025-09-24 19:58:43 981

原创 【C++游记】Map与Set的封装

本文详细讲解了如何基于红黑树封装实现自定义的map和set容器。主要内容包括:1. 分析STL源码框架,理解map/set与红黑树的关系;2. 实现红黑树核心结构,包括节点定义、迭代器设计和插入操作;3. 通过仿函数KeyOfT解决数据比较时的key提取问题;4. 封装实现set,确保key不可修改;5. 封装实现map,支持[]运算符重载;6. 测试验证自定义容器的功能。文章通过清晰的代码示例和深入的技术解析,展示了STL关联式容器的底层实现原理,对理解C++标准库和数据结构有重要价值。

2025-09-16 21:21:27 761

原创 【Linux游记】基础指令篇

摘要:本文介绍了Linux编程环境中的核心工具链,包括软件包管理(yum/apt)、Vim编辑器使用技巧、gcc/g++编译过程(预处理/编译/汇编/链接)、Makefile自动化构建、进度条程序实现及Git版本控制。重点讲解了yum软件包管理器的安装/卸载操作、vim三种模式切换方法、动态/静态链接区别,并提供了进度条示例代码和Makefile编写规范。文章采用轻松幽默的语言风格,旨在帮助初学者系统掌握Linux开发基础工具的使用方法。(149字)

2025-09-05 23:07:29 1309 3

原创 【Linux游记】基础指令篇

本文介绍了Linux操作系统的学习指南,包括其发展历史、开源特性、企业应用现状和主要发行版本。重点讲解了Linux基础指令、权限管理、文件操作和常用工具,如ls、cd、mkdir、rm、grep等命令的使用方法。文章还涉及XShell远程登录、shell运行原理和用户权限设置等内容,旨在帮助读者系统掌握Linux操作系统的核心概念和实用技能。作者以轻松幽默的语言风格,鼓励读者克服学习困难,像唐僧取经一样坚持学习Linux。

2025-09-05 16:16:24 772

原创 【C++游记】红黑树

红黑树是带颜色标识的二叉搜索树,通过颜色约束实现近似平衡,确保最长路径不超最短路径2倍。其规则为:节点非红即黑;根为黑;红节点子节点必为黑;任意节点到NULL路径黑节点数相同。效率上,增删查改时间复杂度为O(logN),插入旋转次数少于AVL树。实现方面,节点含键值对、左右子树、父节点及颜色。插入时按二叉搜索树规则进行,新增节点为红,根据父节点和叔叔节点情况,通过变色、单旋+变色、双旋+变色调整平衡。查找同二叉搜索树,时间复杂度O(logN)。验证需检查是否符合四条规则。总之,它是高效自平衡二叉搜索树,核心

2025-09-02 10:46:14 1305 15

原创 【C++游记】AVL树

本文介绍了AVL树的基本概念和实现方法。AVL树是一种自平衡二叉搜索树,通过平衡因子(右子树高度减左子树高度)确保左右子树高度差不超过1。文章详细讲解了AVL树的结构定义、插入操作(包括平衡因子更新规则)和四种旋转操作(左单旋、右单旋、左右双旋、右左双旋),提供了完整的C++实现代码。最后还介绍了平衡检测方法,通过计算子树高度差验证树的平衡性。AVL树通过严格的平衡控制,将操作时间复杂度保持在O(logN)。

2025-09-01 18:38:17 1233 7

原创 【C++游记】map和set

摘要: 本文介绍了C++中的STL容器,重点讲解了set和map系列的使用方法。set是一种基于红黑树实现的有序不重复容器,支持高效的增删查操作;map则是存储键值对的关联容器,同样基于红黑树实现。文章详细说明了它们的构造方式、迭代器使用、增删查操作,并提供了实际应用示例,如统计词频、解决链表问题等。同时比较了set与multiset、map与multimap的区别,展示了这些容器在算法题中的实际应用价值。

2025-09-01 10:41:20 1009 15

原创 【C++游记】二叉搜索树

这篇文章介绍了二叉搜索树(BST)的核心概念与实现方法。主要内容包括:1. BST的定义与特性(左小右大、递归结构);2. 性能分析,对比二分查找与BST的优劣;3. 核心操作(插入、查找、删除)的详细流程与示例;4. 基于C++的完整代码实现,包含节点类、BST类及关键方法;5. 删除操作的四种情况处理,特别是替换法删除的应用。文章采用通俗易懂的语言和图示,帮助读者理解BST的工作原理,并提供了可直接使用的代码模板。作者鼓励读者坚持学习,后续将介绍平衡二叉搜索树等进阶内容。

2025-08-29 15:26:57 1053

原创 【C++游记】物种多样——谓之多态

【摘要】本文介绍了C++多态的核心概念与实现机制,主要包括:1.多态分为编译时多态(函数重载/模板)和运行时多态(虚函数),重点讲解动态多态的实现条件(基类指针/引用+虚函数重写);2.详细解析虚函数、纯虚函数与抽象类的特性,强调基类析构函数设为虚函数的重要性;3.揭示多态底层原理(虚函数表vtable和虚表指针vptr);4.对比重载/重写/隐藏的差异,并附常见面试题解答。文章通过生活化案例和代码示例,帮助读者深入理解C++面向对象的核心特性。

2025-08-28 17:32:54 1649 16

原创 【C++游记】子承父业——乃继承也

本文以《C++游记》为主题,系统讲解了面向对象编程中继承的核心概念与应用。主要内容包括:1)继承的本质是代码复用,通过Person、Student、Teacher类示例演示了基类与派生类的关系;2)详解继承方式(public/protected/private)对访问权限的影响;3)剖析基类与派生类对象转换规则,强调"向上兼容"原则;4)解析同名成员隐藏规则及派生类默认成员函数的实现要点;5)针对菱形继承问题提出虚拟继承解决方案;6)对比继承与组合的适用场景,提倡"高内

2025-08-28 17:00:06 944 11

原创 【C++游记】模板升级

本文介绍了C++模板编程中的两个重要特性:非类型模板参数和模板特化。非类型模板参数允许使用编译期常量定制模板,适合创建固定大小容器;模板特化则解决通用模板不适用于特殊类型的问题,包括函数模板特化和类模板特化(全特化与偏特化)。文章通过具体代码示例展示了这些特性的应用场景和实现方法,如处理指针比较、定制容器大小等。作者建议在实际开发中优先使用普通函数重载替代简单函数模板特化,并强调了这些高级模板技术在编写高效、通用代码中的重要性。

2025-08-27 21:55:43 786 7

原创 【C++游记】栈vs队列vs优先级队列

栈是一种线性数据结构,其核心特性遵循 “后进先出(Last-In-First-Out,LIFO)” 原则——即最后加入栈的元素,会最先被取出。可以类比现实中的“堆叠物品”(如叠盘子、堆书):只能从顶部添加新物品,也只能从顶部拿走物品,无法直接操作中间或底部的物品。队列是一种线性数据结构,其核心特性遵循 “先进先出(First-In-First-Out,FIFO)” 原则——即最早加入队列的元素,会最先被取出。

2025-08-26 20:37:08 728 5

原创 【C++游记】List的使用和模拟实现

【C++学习笔记:list容器详解】本文系统讲解了C++中list容器的使用与实现。内容涵盖:1)list基础介绍与构造函数;2)迭代器使用及失效问题分析;3)完整list模拟实现代码(含节点结构、迭代器封装和核心功能);4)list与vector的底层结构、访问效率等对比;5)操作性能测试实例。通过西游记的学习比喻,以通俗易懂的方式解析list双向链表特性,特别强调迭代器失效机制和模拟实现细节,配有完整可测试代码,帮助读者深入理解STL容器设计思想。

2025-08-25 16:51:57 1277 16

原创 【C++游记】Vector的使用和模拟实现

构造函数声明接口说明vector()无参数构造构造并初始化n个val拷贝构造使用迭代器进行初始化构造今日C++到这里就结束啦,如果觉得文章还不错的话,可以三连支持一下。感兴趣的宝子们欢迎持续订阅小枫の主页还有更多生动有趣的文章,欢迎宝子们去点评鸭~C++的学习很陡,时而巨难时而巨简单,希望宝子们和小枫一起坚持下去​。

2024-12-15 15:14:05 1785 45

原创 【C++游记】string的使用和模拟实现

今日C++到这里就结束啦,如果觉得文章还不错的话,可以三连支持一下。感兴趣的宝子们欢迎持续订阅小枫の主页还有更多生动有趣的文章,欢迎宝子们去点评鸭~C++的学习很陡,时而巨难时而巨简单,希望宝子们和小枫一起坚持下去~你们的三连就是小枫的动力,

2024-12-13 21:57:19 2542 45

原创 【C++游记】不允许你不会内存管理、模板、STL

今日C++到这里就结束啦,如果觉得文章还不错的话,可以三连支持一下。感兴趣的宝子们欢迎持续订阅小枫,小枫在这里宝子们啦~小枫の主页还有更多生动有趣的文章,欢迎宝子们去点评鸭~C++的学习很陡,时而巨难时而巨简单,希望宝子们和小枫一起坚持下去~你们的三连就是小枫的动力,

2024-12-01 21:41:26 1159 41

原创 【C++游记】类和对象下——构造函数还有你不知道的细节、静态成员、友元函数、编译器如何优化

【C++游记】构造函数还有你不知道的细节、静态成员、友元函数、编译器如何优化

2024-11-30 17:37:10 1954 44

原创 【C++游记】类和对象中

上节课学习了基础篇(包括函数重载、引用、inline、nullptr)and类和对象(上)(包括类的定义、实例化、this指针),忘记的宝子们可以去复习一下~~~枫の大一-优快云博客C++从零到满绩——入门基础and类和对象(上)-优快云博客跳转上篇枫の大一-优快云博客跳转个人主页查看今天我们来类和对象(中)(包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载)。需要注意的是今天我们学习的四个内容始终第一:我们不写时,编译器默认生成的函数行为是什么,是否满足我们的需求?

2024-11-24 12:05:32 1185 30

原创 【C++游记】类和对象上

上节课学习了命名空间、C++的第一个文件、输入输出流还有默认参数的概念和用法,中间因为学校的一些事情和比赛耽搁了一下更新,不好意思宝子们,小编在这说声抱歉。今天我们来学习基础篇(包括函数重载、引用、inline、nullptr)and类和对象(上)(包括类的定义、实例化、this指针话不多说,准备上高速。2>>函数重载C++支持同一个作用域(局部、全局、静态)出现同名函数。有三种情况:1.这些函数形参顺序不同。2.这些参数个数不同。3.这些参数类型不同。

2024-11-22 21:47:10 1073 21

原创 【C++游记】初识C++

数据结构初阶的内容已经全部更新完毕,还没看完的欢迎移步个人主页查看,数据结构进阶内容估计要等待到明年的寒假更新了,现在先重点更新C++的内容。从今天开始,小编将会带着大家从零追C++满绩,保底4-5个月更新完毕,希望大家能跟着小编持续学习,小编会一直分享干货和学习笔记祝大家学有所成。话不多说,准备上高速。另外:如果有觉得小编哪里需要改进的欢迎指出,做出完美的C++篇章肯定少不了各位精神股东的支持啦2>>C++的发展历史C++的起源非常早。从1979年开始,本贾尼。

2024-11-07 17:08:29 1704 25

原创 【数据结构】排序

排序顾名思义,就是将一组乱序的数,按从大到小或者从小到大进行排列的操作。常见的排序如下可以看到排序也是有分类的,既然有分类,那么这边给出宝子们一个思考,在最后测试的时候给出答案,思考1:排序方法这么多,哪个最好呢?最差的有什么用呢?那么废话不多说,今天的重点内容就是理解并写出一个个排序算法,现在直接上高速,带着宝子们攻破一个个排序算法!这边给出各个排序算法的声明,会在对应内容进行解释,宝子们先有个印象即可~~今天讲解了各种类型的排序算法,最常用的还是时间复杂度最小的堆排序、快排、归并排序。

2024-11-03 17:23:52 2547 26

原创 【数据结构】堆排序与Topk

这篇讲的算法思想——堆排序和topk。

2024-10-26 11:42:47 2811 31

原创 【数据结构】堆

目录1>>导言2>>堆的结构3>>堆初始化4>>判空和计数5>>堆插入数据5.1>>向上调整算法6>>删除堆顶数据6.1>>向下调整算法7>>取堆顶数据8>>堆销毁9>>代码部分heap.cheap.htest.c10>>结语 上一篇我们讲到了树-二叉树-大小堆,那么这篇来给宝子们实现一下堆的代码,话不多说,直接步入正题吧。请宝子们系好安全带。是不是很眼熟,嗯?这不就是顺序表吗?是的,堆就是顺序表换了个名字,但是结构,实现代码可大不相同。接着来看声明部分,这里中文意思都给宝子们标注好了,看完就

2024-10-25 21:02:42 1280 6

原创 【数据结构】二叉树

今天讲了树的相关概念和术语,二叉树的概念,二叉树的分类,还有堆的位置关系。希望宝子们能在本篇文章有所收获,能帮助到宝子们小编就非常开心啦。希望明天还能看到宝子们,明天跟着小编一起实现堆的代码吧。敬请期待...

2024-10-24 16:21:17 1146 8

原创 【数据结构】队列

今天带着宝子们学习了队列的知识点,包括入列,出列等等队列的操作,希望宝子们在这篇文章能学会使用队列,也希望宝子们数据结构越学越好,无瓶颈!谢谢宝子们观看,期待下一篇与你相见!

2024-10-21 17:27:16 2448 19

原创 【数据结构】栈

栈属于一种特殊的线性表,没错它也是线性表,之前我们讲过,线性表是逻辑结构相连,物理结构不一定相连,而栈的结构,根据我们所选择的底层结构来判断结构,可以是顺序表,也可以是链表,那这里因为栈是只允许在一端插入或删除元素,进行数据插入和删除的叫栈顶,另一端则为栈底。它只遵循后进先出的原则,因此这里使用顺序表作为底层结构,因此它的物理结构也是线性的。栈的插入叫做 入栈/压栈/进栈,入数据在栈顶部分栈的删除叫做 出栈,出数据也在栈顶。

2024-10-18 21:49:53 1435 19

原创 【数据结构】双向链表

今天学习了双向链表的相关内容,包括双向链表的增删改查,打印销毁等等,还有单链表和双链表的区别,希望能帮助到大家!如果觉得这篇文章对你有帮助的话,可以求一个一键三连嘛~谢谢谢谢!

2024-10-17 14:14:29 1420 18

原创 【数据结构】单链表2

尾插、尾删、头插、头删、查找、指定位置前插/删、指定位置后插/删、销毁。希望对大家有所帮助,一起加油,一起进步!

2024-10-12 21:02:32 1353 27

原创 【数据结构】单链表

随着顺序表的结束,单链表自然就来了,这两个东西物理上有关系吗?没有,只是我们逻辑上认为学习完顺序表就要学习单链表,这就是单链表,什么没听懂?单链表的定义就是逻辑结构链接,而物理结构不连接。可以将它看成一节一节的火车,而假设火车原本有abcd节车厢,别的火车借走cd,之后换回来e和g那火车就是abeg了,这四个车厢物理结构并不相通,而逻辑结构是相通的,那么回过头,把火车看作单链表,一节节车厢就代表一个个结点,因此,这就是单链表。这样看是不是形象生动,数据就是乘客,下一节点地址就是火车之间的连接器。

2024-10-11 20:17:23 1571 5

原创 【数据结构】顺序表2

顺序表的内容就结束啦,怎么样?大家是否感觉还可以,数据结构也没那么那么难对吧,其实任何学科都一样,肯用心学,肯花心思,相信都能攻破,希望大家和我一起保持这份干劲,一直终身学下去!

2024-10-10 14:39:30 1439 12

原创 【数据结构】顺序表

总结:这篇讲述了空间复杂度和线性表里的顺序表,主要讲述了动态顺序表的尾插概念!呼~结束了,对于刚接触的我觉得还是有点难度的,不过通过这篇博客加深了印象,不至于一头雾水,也希望这篇博客能帮助到同样一头雾水的你们,

2024-09-28 20:05:35 1201 7

原创 【数据结构】复杂度

很多小白肯定跟我学之前一样,不理解:什么是数据结构?为什么要学数据结构?数据结构和算法有啥子区别?这几个问题不难回答:第一:数据结构是计算机存储数据,管理数据的方式,比如数组存数据,我们可以通过循环一次性处理数组里的数据,这就是数据结构!第二:学习数据结构能让我们具有一些解决复杂问题的能力,通常复杂的问题数据量都很大,那么管理数据成了难题,故学习了数据结构就可以又快又方便的管理数据。第三:算法就是定义良好的计算过程,通俗点讲就是一系列的计算步骤,

2024-09-27 17:01:20 1766 19

原创 【C游记】结构体

结构体目前我还没做过例题,不知道具体用法,只知道概念,有知道的大佬可以在下方评论区探讨探讨,多多交流,,小编还在军训,军训结束应该会长期更新,先给我的断更说句对不起希望大家能够喜欢我的文章!

2024-09-12 13:20:58 1363 7

原创 【C游记】指针5

今天的内容主要是围绕qsort排序函数展开的,大家如果感兴趣可以试着自己写一个能实现任意类型函数的排序,也就是自己写一个qsort。期待下篇与你的相见!

2024-08-21 14:50:15 1894 12

原创 【C游记】指针4

今天我会继续分享一些我做的笔记,以及我对指针的理解,后续会持续分享指针几天今天又学习了很多内容,以学习笔记+经验的方式呈现给大家希望能得到大家喜欢。能看到这的我都坚信能有所收获,你的耐心给将来的你最大的帮助,期待下篇与你的相见!

2024-08-20 17:02:53 1303 2

原创 【C游记】指针3

目录1>>前言2>>冒泡排序3>>二级指针 4>>指针数组5>>指针数组模拟二维数组 今天我会继续分享一些我做的笔记,以及我对指针的理解, 后续会持续分享指针几天,毕竟指针的内容太多了,一天我也学不完,也分享不完,感谢大家理解,希望我的文章对大家有所帮助,谢谢! 在计算机中有众多排序,如选择排序,计数排序,直接排序等等,冒泡排序是最简单和最通用的排序方法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直至最终完成

2024-08-19 17:00:00 2067 4

原创 【C游记】指针2

今天学习了很多内容,以学习笔记+经验的方式呈现给大家希望能得到大家喜欢。另外希望得到大佬解答:有没有大佬说说指针是不是C语言最多的内容呀,学完指针还有没有更难更多的内容。

2024-08-18 17:28:02 865 2

原创 【C游记】指针1

今天刚学指针的部分内容,此篇讲述了指针变量的取地址和解引用,指针变量的运算等等,以学习笔记的方式分享给大家,希望能得到大家喜欢,后续会持续分享指针内容,大家的三连是我持续更新的动力,

2024-08-17 17:32:08 1092 1

原创 【C游记】递归

函数递归函数递归,当小白听到这样的词会感到无比陌生,请不要惊慌,这是正常的,以至于都不是很经常用到,但是它的算法,

2024-08-16 17:28:33 1266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除