自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树的最大深度(力扣第104题)

【代码】二叉树的最大深度(力扣第104题)

2024-05-06 18:09:42 145

原创 另一棵树的子树(力扣第572题)

【代码】另一棵树的子树(力扣第572题)

2024-05-06 17:05:45 262

原创 判断对称二叉树(力扣145题)

【代码】判断对称二叉树(力扣145题)

2024-05-05 23:00:04 342

原创 翻转二叉树(力扣LCR 144题)

【代码】翻转二叉树(力扣LCR 144题)

2024-05-03 16:25:32 143

原创 相同的树(力扣第100题)

【代码】相同的树(力扣第100题)

2024-05-03 16:25:24 110

原创 单值二叉树(力扣第965题)

【代码】单值二叉树(力扣第965题)

2024-05-02 22:48:20 102 2

原创 二叉树的后序遍历(力扣第145题)

【代码】二叉树的后序遍历(力扣第145题)

2024-05-02 22:48:08 84

原创 二叉树的中序遍历(力扣第94题)

【代码】二叉树的中序遍历(力扣第94题)

2024-04-30 12:37:15 81 2

原创 二叉树的前序,中序,后序遍历

前根遍历:顺序是根,左子树,右子树:A B D NULL NULL E NULL NULL C F NULL NULL NULL。中根遍历:顺序是左子树,根,右子树:NULL D NULL B NULL E NULL A NULL F NULL C NULL。后根遍历:顺序是左子树,右子树根,:NULL NULL D NULL NULL E B NULL NULL F NULL C A。二叉树的前序,中序,后序遍历也叫前根遍历,中根遍历,后根遍历或者前序遍历,中序遍历,后序遍历,代码实现采用递归。

2024-04-30 12:36:48 655

原创 二叉树的前序遍历(力扣第144题)

【代码】二叉树的前序遍历(力扣第144题)

2024-04-29 23:23:06 283 1

原创 最小K个数(力扣面试题17.14)

值得注意的是,已知孩子节点求父亲节点的公式是:parent=(child-1)/2。本文采用的是大堆排序求最小的K个值。需要有堆的数据结构基础哦。

2024-04-29 22:11:46 581 2

原创 实现堆的各种基本运算的算法(数据结构)

以小堆为例,大堆就举一反三了。堆的物理结构就是普通的数组,但是逻辑结构看成了一颗完全二叉树。小堆,就是树的每一个父节点都小于他的孩子节点。如图中第一排的a与b。大堆,就是树的每一个父节点都大于他的孩子节点。如图中第二排的a与b。我们要实现的功能就是将一个数组排成符合要求的序列。

2024-04-22 20:38:52 279 1

原创 STM32G431RBT6之LCD与LED配置

打开蓝桥杯嵌入式资源包,液晶驱动参考程序->MDK5_LCD_HAL,里面有src,inc文件夹,将src文件夹里面的LCD.c复制到bsp文件夹里,将inc文件夹里的LCD.h与fonts.h放到bsp文件夹里.打开文件夹存储的位置,创建新文件夹,命名bsp(随意命名,自己知道就好,后续用来存放.c与.h文件.在main函数里面,在begin与end中间加入初始化LED与LCD.在第一行显示Hellow. 如。打开keil5,创建led.c与led.h文件,放到dsp文件夹里面.

2024-04-21 19:42:03 842

原创 STM32G431RBT6之时钟树配置与生成工程

在这里强调的是,时钟树的配置是每个模块代码的基础,但是由于是速成的模块代码练习,时钟树的原理就不介绍了,后面的led,按键,中断,串口等的原理一概不会介绍.第五步,设置HCLK为80Mhz(15届真题要求为80Mhz,大家可以找找真题看看,后续的模块代码也会默认选择80Mhz).后续的模块代码默认配置好了时钟树,就不再重新配置了哦.首先,打开cubumx,修改RCC与SYS.第二步,修改晶振为原理图相对应的24Mhz.打开并观察原理图,发现晶振是24Mhz.这样,时钟树的配置就完成了.

2024-04-20 19:11:13 737

原创 用栈实现队列(力扣第232题)

【代码】用栈实现队列(力扣第232题)

2024-04-20 18:05:17 304

原创 用队列实现栈(力扣第225题)

【代码】用队列实现栈(力扣第225题)

2024-04-19 22:25:56 257

原创 环形链表的约瑟夫问题(牛客网)

【代码】环形链表的约瑟夫问题(牛客网)

2024-04-15 12:13:33 308

原创 力扣第20题有效的括号

【代码】力扣第20题有效的括号。

2024-04-15 12:13:21 205

原创 实现队列的各种基本运算的算法(数据结构)

队列的特点就是先进先出,后进后出。

2024-04-14 15:47:46 318

原创 实现栈的各种基本运算的算法(数据结构)

栈的特点是先入后出,后进先出。

2024-04-14 14:05:50 324

原创 力扣_876_ 链表的中间结点(c语言)

【代码】力扣_876_ 链表的中间结点(c语言)

2024-03-28 18:05:15 223 1

原创 力扣.21. 合并两个有序链表(c语言)

【代码】力扣.21. 合并两个有序链表(c语言)

2024-03-28 17:59:37 313

原创 力扣_206_反转链表(c语言)

【代码】力扣_206_反转链表(c语言)

2024-03-26 18:13:41 389

原创 力扣_203_移除链表元素(c语言)

【代码】力扣_203_移除链表元素(c语言)

2024-03-26 17:46:38 261

原创 力扣题库88题:合并两个有序数组(c语言)

【代码】力扣题库88题:合并两个有序数组(c语言)

2024-03-23 21:47:12 324

原创 力扣题库27题移除元素(c语言)

【代码】力扣题库27题移除元素(c语言)

2024-03-22 22:05:42 377 1

原创 c语言文件操作(2)

在文件读取结束后,判断文件是否因为读取到EOF而结束。不是的话返回NULL。在文件读取结束后,判断文件是否因为错误而结束。fseek函数是根据文件指针的位置和偏移量来定位文件指针。rewind函数:让文件指针的位置回到文件的起始位置。sam替换了从文件开头后的第九位后的些许数。ftell函数:就是返回文件指针距开头的位置。seek_cur:文件指针的当前位置。seek_end:文件结束*seek_set:文件开头。2.判断文件结束原因。

2024-03-19 21:48:19 183

原创 c语言文件操作(1)

文件的打开需要用到fopen函数,文件的关闭需要用到fclose函数。

2024-03-18 18:25:47 152

原创 c语言按位与,按位或,按位异或,按位取反

实现逻辑是很简单的,值得注意的是,这些操作符的操作对象都是整数。按位与的实现逻辑是相同为1,相异为0;按位或的实现逻辑是有1为1,无一为0;按位或的实现逻辑是相同为0,相异为1;按位取反的实现逻辑是0改1,1改0;

2024-03-16 22:00:11 760

原创 c语言大小写字母的转换

通过ascll码表我们可以知道大写字母与小写字母相差32个数(小写字母比大写字母大)。因此,通过相加减32即可转换大小写字母。isupper是一个分类大写字母A~Z的函数,这里识别大写字母A转成小写字母a。//将参数传进去的大写字母转小写。//将参数传进去的小写字母转大写。是一个分类小写字母a~z的函数,这里识别小写字母a转成大写字母A。isupper同理。

2024-03-14 21:29:28 2025 1

原创 数据结构——动态顺序表

数据结构的动态顺序表有以下几个操作:创建,销毁,初始化,增删查改和打印以及内存空间不够时的扩容。任意位置插入要记得判断插入位置的合法性,再将插入位置的数据向后移一位,再在插入位置赋值即可。进行删除操作时,要判断表是否已经是空表,此时不可再删。插入时都要判断空间是否足够,是否需要扩容,以及ps->size要加一。值得注意的是,ps->a要赋值NULL,避免野指针的出现。任意位置的删除也要检验删除位置的合法性。任意位置的修改也要检验删除位置的合法性。6.动态顺序表的任意位置的修改。5.动态顺序表的删除。

2024-03-12 21:44:22 387 1

原创 联合体与枚举

联合体和结构体一样,都可以由不同类型的成员变量组成,但是分配给联合体的内存空间至少是联合体中最大的成员变量的大小(保证存的下最大的成员变量)。联合体中的各个成员变量共用一个空间,因此,联合体也称共用体。联合体的关键字是union。

2024-03-11 19:31:44 210 1

原创 c语言结构体

位段的声明和结构是类似的,有两个规则:1. 位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以选择其他类型。2. 位段的成员名后边有⼀个冒号和⼀个数字。int a:2;int b:2;int c:2;

2024-03-10 20:46:48 571 1

原创 数据在内存中的存储

数据在内存中的存储分为整数在内存中的存储和浮点数在内存中的存储。

2024-03-09 21:52:53 914 1

原创 c语言的内存函数

destination是目的地址,source是传输地址,num是传输字节数,使用memcpy函数时会从source地址取出num个字节放在destination地址处。值得注意的是,str1与str2的地址不应该重叠,如果重叠,应该使用memmove函数。顾名思义,set即设置,ptr是目标地址,value是设置的值,num是设置的值所需字节数。输出结果:1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 0 0 0 0 0。输出结果:0 0 0 0 0 0 0 0 0 0。

2024-03-08 20:46:33 244 1

原创 at89c51/52单片机最小系统仿真

这是at89c51/52单片机最小系统的protues仿真文件,分享给大家,用protues打开就行了。led灯接在P2口上,如果实际上板子led灯接的是P1口,就把线接到P1口就好了。

2024-01-10 09:46:29 644

原创 闰年判断以及某年某月天数判断。(c语言)

判断天数:闰年与平年的区别在与闰年的二月份是29天,而平年的二月份是28天。当判断出该年是闰年还是平年时,控制二月份的天数即可。天数的控制用一个数组即可解决。判断某年份是不是闰年的条件很简单,就是一句话能被4整除但是不能被100整除或者能被400整除。

2024-01-09 12:08:35 680 1

原创 冒泡排序详解

第三次移位循环时,数组下标只会加一到sum[8]与sum[9]比较,因为经过第二次循环后,sum[11]是最大值10,sum[10]是第二大值9,不用再进行比较,使得数组下标加一次数再次减一。数组下标继续加一,sum[2]与sum[3]比较,如果sum[2]大于sum[3],则sum[2]与sum[3]交换数据。数组下标加一,sum[1]与sum[2]比较,如果sum[1]大于sum[2],则sum[1]与sum[2]交换数据。可以发现,第一次移位循环后,最大值,也就是10到了数组的最右边。

2024-01-08 11:42:58 464 1

原创 二分查找的原理及代码实现

2.得到中间数组下标后,就可以得到中间值arr[mid],与中间值比较,若等于中间值,就返回中间值数组下标加一。还有每一次进行步骤1与步骤2操作后,left与right都会进行相应的加减一,当left>right时,也可以直接判定没有这个数。3.处理完步骤1与步骤2操作后,若未查找到数据,则用新得到的左边数组下标left与新得到的右边数组下标right再次进行步骤1与步骤2操作。发现也就是普通的嵌套操作。多次将查找数据和被查找数据段的中间数据比较,每次比较可以缩减一半的被查找数据段,极大的加快了查找速度。

2024-01-07 18:25:01 788 1

原创 找数字游戏

time函数会返回当前的日历时间,其实返回的是1970年1月1日0时0分0秒到现在程序运行时间之间的差值,单位是秒,时间是一直在变化的,故返回值是一直变化的。结合第二个time函数,time函数的返回值是时刻变化的,time函数的返回值可以当作srand函数的参数,使得rand函数进行不同的初始化。若不给予seed不同值,最后会发现rand函数产生的随机值永远不变,对我们来说只有第一次是未知的,再次进行游戏所猜数字不变,这就不是猜数字的游戏了。3.srand函数,专门初始化rand函数的函数。

2024-01-06 20:13:08 513 1

STM32G431RBT6之的原理图和产品手册

STM32G431RBT6之的原理图和产品手册

2024-04-20

at89c51/52单片机最小系统

是at89c51/52单片机最小系统的protues仿真文件

2024-01-08

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

TA关注的人

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