- 博客(30)
- 问答 (1)
- 收藏
- 关注
原创 C++基本容器操作(2021年暑假稿子 待更新)
C++容器string 容器介绍string类(容器)string 构造函数注意问题string 赋值操作注意问题string 字符串连接注意问题string 字符串查找和替换注意问题中是我还不懂的问题string 容器介绍string类(容器)string是c++风格的字符串,本质上是一个类。*string和char 的区别char* 是一个指针string是一个类,类内部封装了char* 管理这个字符串,是一个char*类型的容器string类内部封装了很多成员方法如: find
2022-03-18 12:43:35
946
原创 C++引用,四区和函数
引用变量和四区代码区、全局区、堆区和栈区代码区全局区栈区堆区new操作符代码区、全局区、堆区和栈区注意:其中代码区和全局区是运行前的,栈区和堆区是运行后的。即如果exe文件不运行,就没有栈区和堆区代码区: 保存程序编程exe文件后的代码,存放的CPU执行的机器指令代码区的特点代码区是共享的,目的是对于频繁被执行的程序,只需要在内存中有一份代码代码区是只读的,防止程序意外地修改了它的指令全局区特点全局变量,静态变量和常量存放在这里全局区还包含了常量区,字符串常量和其他常量也存
2021-11-06 16:35:33
393
原创 JAVA-继承和多态(笔记-重制版)
JAVA-继承-笔记继承的好处和弊端继承中变量访问的特点super关键字的用法(和this关键字)继承中构造方法的访问特点子类对父类的方法重写继承的注意事项关于static和final继承的好处和弊端好处:提高了代码的复用性(多个类相同的成员放在同一个类中)提高了代码的维护性(需要修改的时候,只需要改变一个地方就行)弊端:增加了类的耦合性,减弱了类的独立性注意:当类A和B,A是B的一种,B是A的一种,他们之间存在继承关系,就可以考虑用继承来实现。继承中变量访问的特点在子类中访
2021-10-29 01:15:57
356
原创 51单片机入门——矩阵建盘的基本操作(待更新)
矩阵建盘的基本操作矩阵键盘的原理图和基本原理例题矩阵键盘的原理图和基本原理原理图基本原理首先我们要进行扫描,扫描矩阵键盘中每个按键的状态,对与矩阵键盘,我们只能逐行扫描,然后读取列的状态信号。如果R3行输出低电平,那么黄色按键如果有按下动作的话,那读取C2列信号也应该为低电平,而该行上其他没有按下动作的按键的列信号则为高电平。每个按键内部的结构待更新例题代码如下待更新。。。。。...
2021-09-25 00:10:56
239
原创 51单片机入门——独立按键的基本操作
独立按键的基本操作独立按键与矩阵键盘的原理图独立按键与矩阵键盘的原理图使用独立按键时,J5跳帽应该接到2~3引脚基本原理一般情况下,独立按键有两个引脚,其中一个通过上拉电阻接到单片机的I/O端口,另外一端接地。也就是说,平时按键没有动作的时候,输出的是高电平,如果有按下动作发生,则输出的是低电平。按键抖动我们一般只要扫描跟按键引脚相连的I/O端口,如果发现有低电平产生,则判定该按键处于按下状态。有些时候,电路或者外围有电磁干扰,也会使单片机的I/O端口产生低电平,这种干扰信号会让单片机误认为是
2021-09-22 15:41:27
6197
2
原创 51单片机——共阳数码管的动态显示(有一个小问题)
51单片机——数码管的动态显示数码管的原理图及基本原理例题(附代码)数码管的原理图及基本原理原理图怎么工作的我就不介绍了,具体看我这个专栏中以前的博客基本原理动态显示实质上就是轮流点亮单个数码管实现多位数码管整体显示的效果。在轮流显示过程中,每位数码管点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更
2021-09-22 15:09:32
1650
1
原创 51单片机入门—共阳数码管的静态显示
共阳数码管的静态显示共阳数码管的原理图共阳数码管的原理图数码管的类型CT107D单片机综合实训平台上使用的数码管是F3461BH,倒数第2个字母是“B”,说明这个数码管是共阳类型的,如果该字母为“A”则为共阴类型。不同类型的数据管,其段码数组是截然不同的。数码管中的位选和段选F3461BH是一个4位8段的数码管,其中a、b、c、d、e、f、g、dp引脚分别对应8个段码,该8个引脚通过74HC573锁存器与单片机的P0端口相连。另外有com1~com4四个公共控制脚138译码器和74HC573锁存
2021-09-22 12:12:44
3407
原创 51单片机入门—中断系统和外部中断的基本使用
中断系统的基本使用中断系统的基本概念五个中断源及其基本结构中断的处理函数中断相关的4个寄存器一个例题注意事项中断系统的基本概念五个中断源及其基本结构51单片机一共有五个中断源按优先级从上到下中断系统的结构 中断向量就是中断号,就是下图最左边的标号(在写中断服务函数的时候有用)中断的处理函数一般情况下,中断的处理函数有两个,其一为中断初始化函数,其二为中断服务函数。中断服务函数的结构:中断相关的4个寄存器写程序的时候会用到分为两个控制寄存器和两个中断请求标志一个例题
2021-09-21 16:04:49
2467
1
原创 51单片机入门—蜂鸣器和继电器
我们具体以题目来介绍蜂鸣器和继电器:(在LED灯基本控制的基础上实现的)ULN2003达林顿晶体管和74HC573锁存器达林顿晶体管的内部构造图: 里面是一个非门,输入1,就会输出0,输入0就会输出1138译码器可以控制Y0到Y7的锁存器输出低电平,通过编码输出低电平(能输出高电平??)或非门 从Y5端输入低电平,Y5C输出高电平,使锁存器工作蜂鸣器和继电器 :记住GND是低电平,VCC是高电平(这就很容易能看懂了)代码如下:#include <reg52.h>sbit
2021-09-20 12:26:07
1339
原创 单片机入门—LED指示灯的基本控制(完结)
实现过程74HC138译码器(38译码器)——>74HC02或非门——>74HC573锁存器三八译码器三个输入控制八路互斥的低有效输出(三个P2口控制8个Y口,100控制Y4输出低电平)74HC573锁存器OE和LE分别是什么???如图所示:J13跳线帽的不同的引脚接法?...
2021-09-17 01:58:10
3588
原创 C++ 标识符的作用域和可见性(待更新)
标识符的作用域和可见性作用域可见性作用域作用域主要分为:局部作用域(函数原型作用域,块作用域,类作用域,命名空间作用域)全局作用域函数原型作用域块作用域类作用域命名空间作用域可见性全局变量可能在局部块中被局部变量屏蔽了,导致全局变量不可见...
2021-09-15 01:05:27
157
原创 二叉树的先,中,后,层次遍历(完结)
归纳创建二叉树‘数据结构——二叉树的先,中,后,层次遍历先序遍历void pre(Bittree t) { if (t == NULL) return; printf("%d ", t->data); //第一次打印根节点,之后在递归打印其他节点 pre(t->lchild); pre(t->rchild);}中序遍历//中序遍历 void mid(Bittree t){ if(t){ mid(t->lchild); printf("%c",t-
2021-09-04 20:33:05
153
原创 由遍历序列构建二叉树(再遍历输出 完结)
在学校的教材上没找到这个知识点二叉树构造定理定理7.1:任何n(n>0)个不同结点的二又树,都可由它的中序序列和先序序列唯一地确定。定理7.2:任何n(n>0)个不同结点的二又树,都可由它的中序序列和后序序列唯一地确定。这里会用到递归算法。前序遍历:根节点 左子树 右子树中序遍历:左子树 根节点 右子树后序遍历:左子树 右子树 根节点任何一个序列都是按照以上的顺序来进行排列的,所以先找到根节点,在通过中序序列分出左子树和右子树,也就能在前序序列和后序序列中找到左右子树的根节点,再使
2021-09-04 20:02:53
342
原创 二叉树(定义,基本术语,常考性质)
知识点归纳:二叉树的五种形态几种特殊的二叉树满二叉树,完全二叉树,二叉排序树,平衡二叉树-满二叉树注意第三条性质,有助于用顺序存储的方式存储二叉树完全二叉树完全二叉树未必是满二叉树,满二叉树是一种特殊的完全二叉树(注意编号是1~n,并不是全部结点),图中为向下取整二叉排序树二叉排序树主要用于元素的排序,搜索平衡二叉树平衡二叉树是一种二叉排序树,比普通的二叉排序树有更高的效率二叉树总结二叉树的常考性质考点一完全二叉树的常考性质-考点一考点二
2021-08-31 00:32:56
175
原创 树的常考性质
我开始水博客了。。。以下都是笔记结点之间的关系结点的属性和特性除根结点外的所有结点有且只有一个前驱结点。所有结点可以有零个或多个后继结点。结点的层次:从根结点开始数,根结点是第一层。结点的度:就是该结点有几个分支。树的高度:总共有多少层。结点的高度:从下往上数。树的度:各结点度的最大值。有序树和无序树树和森林树的常考性质结点数=度数+1度为m的树,m叉树的区别:...
2021-08-30 17:26:04
133
原创 C++ 函数深入(内联函数,引用变量)
内联函数除去函数调用,C++内联函数提供了另一种选择,内联函数的编译代码和其他的程序代码“内联”起来。x编译器将使用相应的函数代码替换函数调用。如何使用内联函数必须在函数声明前或函数定义前加上关键字inline.如下面的代码:#include <iostream>#include<cmath>using mamespace std;//定义内联函数distanceinlline double distance(double a,double b){ return
2021-08-29 22:28:35
192
原创 算法—初等数论
详见转载:文章链接下面是自己的笔记:整除1.素数的一般判断方法试除法inline bool is_prime(int x){ if(x < 2) return false; for(register int i = 2; i * i <= x; ++ i) if(x % i == 0) return false; return true;}2.素数的筛法 质数筛法一般分为埃氏筛和线性筛。1.Era
2021-08-27 00:47:04
298
原创 进制转换(栈和队列 )公开
标题十进制转换为二进制数、八进制、十六进制数(除2/8/16取余法)总体来说,需要换算成哪个进制,就除N,一直到商为0,则把余数倒排列即可,这正好和栈的结构相符合,可以出栈和进栈来表示结果#include<bits/stdc++.h>using namespace std;const int M=1000;typedef struct //定义一个顺序栈{ int data[M];//栈中最多可放M个元素 int top;//用来存放栈顶元素的下标,top为-1表
2021-08-20 21:30:37
1022
原创 整数二分法查找左右边界
整数二分法查找左右边界第一种是查找左边界(我这里指的是整体右边部分的分界点,即所求区间的左边)int bsearch_1(int l, int r){ //第二步:递归处理子问题,用while循环来实现 while (l < r) { //第一步:分解成子问题,这是二分的核心--范围减半 int mid = l + r >> 1; if (check(mid)) r = mid; //向左边找 //if判断
2021-08-17 00:24:58
363
原创 快速排序算法
快速排序算法快速排序算法是入门算法,该算法可以按照以下思路实现:在数组中选一个边界值(可以为数组中任意一个,一般为第一个,最高后一个,中间值)从数组两边遍历,将数组中小于边界值的数据移到边界值左边,大于边界值的移到右边,即两个值进行交换对于边界值左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序下面是代码模板void quick_sort(int q[], int l, int r){ //递归的终止情况 if(l >= r)
2021-08-16 23:10:39
139
原创 算法入门(代码模板)
高精度加法// C = A + B, A >= 0, B >= 0vector<int> add(vector<int> &A, vector<int> &B){ if (A.size() < B.size()) return add(B, A); vector<int> C; int t = 0; for (int i = 0; i < A.size(); i ++ )
2021-08-15 16:51:21
429
原创 Dijkstra算法
Dijkstra算法(迪杰斯特拉算法)迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。迪杰斯特拉算法求一个点到其他所有点的最短路径时间复杂度为 O(n^2)。我第一次接触到Dijkstra算法是在离散数学的图论课上,关于计算最短路径问题的算法下
2021-08-10 17:13:56
1016
原创 2021-02-23
指针小题,求大佬看一下如下:#include<stdlib.h>int main(void){int a[4]={1,2,3,4},* pa;pa=a;printf(“pa=%p,pa[0]=%d,pa[1]=%d,pa[2]=%d,pa[3]=%d”,pa,pa[0],pa[1],pa[2],pa[3]);system(“pause”);return 0;}*下面为另一种书写方式#include<stdlib.h>int main(void){int
2021-02-23 18:14:20
116
空空如也
函数参数里的a和&a的区别
2021-08-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人