自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 AVL树的插入实现及其四种旋转(保姆级教学篇)

当我们学习完了搜索二叉树,而紧跟着当然要开始学习AVL树啦。AVL树呢,就是搜索二叉树的一种强化版,它叫做平衡搜索二叉树,为什么会出现这种树?二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。

2024-07-19 19:43:43 892 2

原创 C++二叉搜索树的实现(保姆级教学篇)

二叉搜索树是二叉树进阶中最基础的一种树,其特点是:非空左子树的所有键值小于其根节点的键值;非空右子树的所有键值大于其根节点的键值;左/右子树都是二叉搜索树。通过这些性质不难发现,二叉搜索树最大的特性就是其中序遍历有序的,而且二叉搜索树不允许相同节点的出现,这也起到了去重的作用。它还有两个重要的结论:1.整棵树中最小的节点就是整棵树最左的节点;2.整棵树中最大的节点就是整棵树最右的节点。这两个结论对于我们实现二叉搜索树具有重要的基础。

2024-07-17 00:13:46 210

原创 vector的底层模拟实现(保姆级教学篇)

上一篇我们讲到了string的底层实现,那么今天我们就深究一下vector的底吧!vector其实看起来比string简单得多,如果是int类型的vector,不就是我们之前学的顺序表吗?但是呢,直到我们深究它的底层,其实还是有很多值得我们学习的地方呀,我们要完全实现vector,有很多细节需要注意,这样也更加方便我们对于使用vector更加熟练。

2024-05-20 10:16:32 210

原创 C++中String的底层模拟实现(保姆级教学篇)

hello大家好,又很久没有更新了,由于沉迷于C++而无法自拔,导致很久没写了哈哈哈。这次给大家带来的就是我们C++里面的string类的模拟实现,尽管可以直接用,但是呢这也算一个数据结构,我们了解了它的底层会帮助我们更加理解string,会更让我们容易上手,尽管我们觉得string不是很简单嘛?但还是有很多细节的,我这的是完完全全按照库里的实现的,所以有需要的同学要好好的注意我的注释哦!

2024-05-15 12:40:47 271

原创 (题解包会篇)AtCoder-abc057-B Checkpoints

​hello大家,本次又带来了一道题,题目链接来自:B - Checkpoints,本次的题相对简单,同学们可以练练基础,当然,简单题比的就是谁的时间最少,有更好的解法可以分享到评论区哦,供大家学习学习!希望我的思路也对你有帮助哦!

2024-03-09 14:05:17 562 2

原创 (题解包会篇)AtCoder-abc098-B Cut and Count

​本篇为大家带来一个题目,题目链接来自B - Cut and Count,本题主要考察的还是对字符串的掌握程度,为大家分享一下我的解法,应该也不是最巧妙的思路,但都是大家能看懂的思路哦,话不多说,直接开始!还是一样,代码和注释安排的妥妥的!

2024-03-07 14:23:03 502 4

原创 (题解包会篇)AtCoder-abc066-B ss

​hello大家又见面咯,本次blog又为大家带来一个题目,也是来自AtCoder的一道题,具体题目在链接:B - ss

2024-03-04 18:47:38 501 3

原创 (题解包会篇)AtCoder-abc128-b Guidebook

​Hello大家我又来分享题目咯,本题是来自AtCoder的一道题,具体题目在链接:B - Guidebook​

2024-03-02 16:12:16 509 2

原创 (包会)再战通讯录(单链表版)

好久不见,甚是想念!最近因为大过年+开学好久没有更新了,接下来就更新又一个保姆级教学----也就是我们的通讯录的第二个版本,也就是用链表实现,话不多说,咱们直接开干!

2024-03-01 21:58:49 666 4

原创 (包会)保姆级通讯录的实现(顺序表版)

大家应该用过通讯录,不过现在有微信或企鹅,只需简单的添加好友就可以实现各种各样的功能,现在就让我们回到小时候用老年机的样子,实现一个简单的通讯录项目吧!我们先简简单单定义一下我们要写的内容,我们可以写通讯录,当然要写的是联系人的各种信息,所以,在联系人方面,我们可以写添加联系人、删除联系人、查找联系人、查看通讯录、修改联系人等的操作,是不是也对应了咱们顺序表的增删查改的操作呢,所以我们可以在顺序表的基础上实现一个简易的通讯录。

2024-01-20 21:08:35 507 7

原创 PTA 7-28:猴子选大王(新手保姆级教学)

C语言解决PTA 7-28 猴子选大王题目

2023-12-04 14:17:33 1776 2

原创 题目分享:字符串旋转结果

hello大家好,今天给大家来介绍一种题型~~

2023-11-30 13:23:18 124 2

原创 输入两个整数,求两个整数二进制格式有多少个位不同

当我们看到这个题,可能一开始会有点懵,但是仔细一想,我们关于二进制的符号总共只有几个:&、|、^、~、>>、

2023-11-07 22:13:19 281 2

原创 打印0~100000的水仙花数(简单易懂方法)

水仙花数(Narcissistic number),也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或者阿姆斯特朗数,水仙花数是指一个3位数,它的每个位数上的数字的3次幂之和等于它本身,例如153是一个水仙花数,因为1^3+5^3+3^3=153,所以是一个水仙花数。而我们现在的题目是:要打印0~100000的”水仙花数“,实际上是一个自幂数,其含义也是跟水仙花数的定义差不多,就是指一个n位数,每个位数上的数字的次幂之和等于它本身,差不多就这个意思。

2023-11-03 15:03:15 1197 3

原创 简单的扫雷游戏的实现(保姆级教学)

再然后呢,我们每次排查完一次雷,当然就会显示周围有多少个雷,同时,我们完成游戏后,要么被炸死要么胜利,我们都想看看全部雷的位置,这样思路下来,我们需要设置两个11 x 11的棋盘,我们可以设置两次棋盘,一个存放'*',另一个存放数字,但是呢,我们又为了方便,我们可以将他们放在一个二维数组里面,这样我们就更加简单的完成棋盘设置,这样的话,我们就需要将数字转变成字符类型的数字,这样就很好的解决了存放数据的类型太多,容易引发歧义的问题。由此我们可以看出,当我们点击了雷放置的位置,游戏结束,表示你被雷炸死了。

2023-11-01 13:28:29 313 7

原创 C语言之有序序列合并(详解)

4⃣️在3⃣️的基础上,我们再定义一个变量j,用于进行第三行升序数列的输入,并进行数组交换,这里的j就要 < m + n - i,因为总共只有m + n。分析题干,要求我们的是第一行的第一个数字输入第二行的数列的数字个数, 第二个数字输入第三行的数列的数字个数,且第二行和第三行的数列都是升序排列的。1⃣️首先要定义m和n,分别用于输入第二行和第三行的数字的个数,再定义一个数组,用于输出一个升序数列,再定义一个变量flag,用于第二行和第三行的交换排列,即实现数组交换。接下来就来分步来解决这个问题吧!

2023-11-01 01:06:07 616 5

原创 C语言之函数

static修饰局部变量改变了变量的生命周期,生命周期改变的本质是改变了变量的存储类型,本来一个局部变量是存储在内存的栈区的,但是被static修饰后存储到了静态区。存储在静态区的变量和全局变量是一样的,声明周期就和程序的生命周期一样了,只有程序结束,变量才销毁,内存才回收,但是作用域不变的。static修饰全局变量,本质上影响了变量的存储类型,一个局部变量是存在栈区的,但是被static修饰后就存放在静态区了,因为存储类型的变化,生命周期跟着变化了,变长了!这种写法适合函数返回类型是void的情况。

2023-10-31 22:25:13 120 3

原创 C语言之数组

/表示第一行是1,2,0,0,0 第二行是3,4,0,0,0 第三行是5,0,0,0,0。C语言规定数组是有下标的,下标是从0开始的,假设数组有n个元素,最后一个元素的下标是n-1,下标就相当于数组元素的编号。//40----计算的是数组的总大小,单位是字节。我们又知道数组中所有元素的类型都是相同的,那只要计算出一个元素所占字节的个数,数组的元素个数就能算出来。

2023-10-31 21:34:05 87 3

原创 SELF INTRODUCTION

我是一名大一新生,来自于一个不出名的一本院校,就读电子信息类专业。

2023-10-24 11:09:48 89 2

空空如也

空空如也

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

TA关注的人

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