- 博客(49)
- 收藏
- 关注
原创 二叉树的前序,中序,后序遍历
前根遍历:顺序是根,左子树,右子树: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
712
原创 最小K个数(力扣面试题17.14)
值得注意的是,已知孩子节点求父亲节点的公式是:parent=(child-1)/2。本文采用的是大堆排序求最小的K个值。需要有堆的数据结构基础哦。
2024-04-29 22:11:46
606
2
原创 实现堆的各种基本运算的算法(数据结构)
以小堆为例,大堆就举一反三了。堆的物理结构就是普通的数组,但是逻辑结构看成了一颗完全二叉树。小堆,就是树的每一个父节点都小于他的孩子节点。如图中第一排的a与b。大堆,就是树的每一个父节点都大于他的孩子节点。如图中第二排的a与b。我们要实现的功能就是将一个数组排成符合要求的序列。
2024-04-22 20:38:52
300
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
1080
原创 STM32G431RBT6之时钟树配置与生成工程
在这里强调的是,时钟树的配置是每个模块代码的基础,但是由于是速成的模块代码练习,时钟树的原理就不介绍了,后面的led,按键,中断,串口等的原理一概不会介绍.第五步,设置HCLK为80Mhz(15届真题要求为80Mhz,大家可以找找真题看看,后续的模块代码也会默认选择80Mhz).后续的模块代码默认配置好了时钟树,就不再重新配置了哦.首先,打开cubumx,修改RCC与SYS.第二步,修改晶振为原理图相对应的24Mhz.打开并观察原理图,发现晶振是24Mhz.这样,时钟树的配置就完成了.
2024-04-20 19:11:13
1168
原创 c语言文件操作(2)
在文件读取结束后,判断文件是否因为读取到EOF而结束。不是的话返回NULL。在文件读取结束后,判断文件是否因为错误而结束。fseek函数是根据文件指针的位置和偏移量来定位文件指针。rewind函数:让文件指针的位置回到文件的起始位置。sam替换了从文件开头后的第九位后的些许数。ftell函数:就是返回文件指针距开头的位置。seek_cur:文件指针的当前位置。seek_end:文件结束*seek_set:文件开头。2.判断文件结束原因。
2024-03-19 21:48:19
196
原创 c语言按位与,按位或,按位异或,按位取反
实现逻辑是很简单的,值得注意的是,这些操作符的操作对象都是整数。按位与的实现逻辑是相同为1,相异为0;按位或的实现逻辑是有1为1,无一为0;按位或的实现逻辑是相同为0,相异为1;按位取反的实现逻辑是0改1,1改0;
2024-03-16 22:00:11
1221
原创 c语言大小写字母的转换
通过ascll码表我们可以知道大写字母与小写字母相差32个数(小写字母比大写字母大)。因此,通过相加减32即可转换大小写字母。isupper是一个分类大写字母A~Z的函数,这里识别大写字母A转成小写字母a。//将参数传进去的大写字母转小写。//将参数传进去的小写字母转大写。是一个分类小写字母a~z的函数,这里识别小写字母a转成大写字母A。isupper同理。
2024-03-14 21:29:28
3706
1
原创 数据结构——动态顺序表
数据结构的动态顺序表有以下几个操作:创建,销毁,初始化,增删查改和打印以及内存空间不够时的扩容。任意位置插入要记得判断插入位置的合法性,再将插入位置的数据向后移一位,再在插入位置赋值即可。进行删除操作时,要判断表是否已经是空表,此时不可再删。插入时都要判断空间是否足够,是否需要扩容,以及ps->size要加一。值得注意的是,ps->a要赋值NULL,避免野指针的出现。任意位置的删除也要检验删除位置的合法性。任意位置的修改也要检验删除位置的合法性。6.动态顺序表的任意位置的修改。5.动态顺序表的删除。
2024-03-12 21:44:22
421
1
原创 联合体与枚举
联合体和结构体一样,都可以由不同类型的成员变量组成,但是分配给联合体的内存空间至少是联合体中最大的成员变量的大小(保证存的下最大的成员变量)。联合体中的各个成员变量共用一个空间,因此,联合体也称共用体。联合体的关键字是union。
2024-03-11 19:31:44
218
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
583
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
255
1
原创 at89c51/52单片机最小系统仿真
这是at89c51/52单片机最小系统的protues仿真文件,分享给大家,用protues打开就行了。led灯接在P2口上,如果实际上板子led灯接的是P1口,就把线接到P1口就好了。
2024-01-10 09:46:29
863
原创 闰年判断以及某年某月天数判断。(c语言)
判断天数:闰年与平年的区别在与闰年的二月份是29天,而平年的二月份是28天。当判断出该年是闰年还是平年时,控制二月份的天数即可。天数的控制用一个数组即可解决。判断某年份是不是闰年的条件很简单,就是一句话能被4整除但是不能被100整除或者能被400整除。
2024-01-09 12:08:35
783
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
476
1
原创 二分查找的原理及代码实现
2.得到中间数组下标后,就可以得到中间值arr[mid],与中间值比较,若等于中间值,就返回中间值数组下标加一。还有每一次进行步骤1与步骤2操作后,left与right都会进行相应的加减一,当left>right时,也可以直接判定没有这个数。3.处理完步骤1与步骤2操作后,若未查找到数据,则用新得到的左边数组下标left与新得到的右边数组下标right再次进行步骤1与步骤2操作。发现也就是普通的嵌套操作。多次将查找数据和被查找数据段的中间数据比较,每次比较可以缩减一半的被查找数据段,极大的加快了查找速度。
2024-01-07 18:25:01
860
1
原创 找数字游戏
time函数会返回当前的日历时间,其实返回的是1970年1月1日0时0分0秒到现在程序运行时间之间的差值,单位是秒,时间是一直在变化的,故返回值是一直变化的。结合第二个time函数,time函数的返回值是时刻变化的,time函数的返回值可以当作srand函数的参数,使得rand函数进行不同的初始化。若不给予seed不同值,最后会发现rand函数产生的随机值永远不变,对我们来说只有第一次是未知的,再次进行游戏所猜数字不变,这就不是猜数字的游戏了。3.srand函数,专门初始化rand函数的函数。
2024-01-06 20:13:08
535
1
请问相位差怎么求啊(标签-stm32|关键词-m3)
2023-11-24
stm32cubumx与hal库的代码问题
2023-11-05
stm32cubumx中stm32f103c8t6的相关代码问题
2023-11-04
adc通过过零法求频率
2023-11-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人