自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (9)
  • 收藏
  • 关注

原创 proteus常用元件图示和名称(持续更新...)

初学单片机,记录一下proteus常用的元件proteus常用元件图示和名称1 SWITCH(一位开关)SWITCH 一位开关SW-SPST 一位开关SW-SPDT 两位开关2 CAP(无极性电容)3 CAP-ELEC(极性电容)4 CRYSTAL(晶振)5 LED-BIBY(发光二极管)6 RES(电阻)7 BUTTON(按钮)8 AT89C51(经典单片机)9 BUS(总线)右侧:总线模式->蓝色粗线:总线10 VCC(电源)右侧:终端

2022-01-30 17:45:00 325182 30

原创 Windows上Qt配置OpenCV(最简单版本无需自己编译-避坑必看)

博主为了在qt上配置OpenCV踩了很多坑,经过一番努力,终于找到了最容易配置的方法,在这里总结出了一份经验,给有需要的人提供一点帮助.文章结尾有福利.

2023-09-12 20:37:03 5744 15

原创 git常用命令记录

git常用命令集合

2023-08-28 13:53:45 115

原创 记录科目三的考试细节

无论是什么考试,个人能力固然重要,但保持良好的心理状态却是更加关键的,所有说只要平时练好了技术,到考场上沉着冷静地面对即可,祝大家都能顺利通过。

2023-08-28 13:47:29 171

原创 计算整数n位和(C语言)

#include<stdio.h>int main(){ //unsigned long long的最大值:1844674407370955161 int result=0; unsigned long long integer=0; unsigned long long n=1; printf("input a integer:"); scanf("%lld",&integer); do { result+=(integer/n)%10; n*=10;

2022-04-18 19:32:16 1209

原创 单片机学习进阶案例

目录单片机案例1111 INT0中断计数器原理图程序单片机案例1212 INT0与INT1中断计数原理图程序单片机案例1313 TIMER0控制单只LED闪烁原理图程序单片机案例1414 定时器控制数码管显示原理图程序单片机案例1515 定时器控制8乘8点阵显示原理图程序单片机案例1616 TIMER0控制蜂鸣器发出门铃声原理图程序单片机案例1717 TIMER0控制交通指示灯原理图程序单片机案例1818 TIMER1控制音阶演奏原理图程序单片机案例1919 T0T1T2实现外部计数二进制显示原理图程序单片

2022-04-12 20:52:33 2530 1

原创 单片机新手入门案例

根据单片机100案例所做,适合初学者入门单片机的简单案例.目录单片机案例11 闪烁的LED灯原理图程序单片机案例22 双向流水灯原理图程序单片机案例33 变化多样的流水灯原理图程序单片机案例44 LED模拟交通信号灯原理图程序单片机案例55 单只数码管(共阴极)显示数字原理图程序单片机案例66 集成式数码管动态扫描显示数字原理图程序单片机案例77 按键控制数码管显示原理图程序单片机案例88 4乘4按键显示原理图程序单片机案例99 普通开关和拨码开关(报警器)原理图程序单片机案例1010 继电器控制照明设

2022-04-05 13:13:13 6921 3

原创 单片机案例-INT0与INT1中断计数

单片机案例结合proteus和keilINT0与INT1中断计数原理图程序/* 名称:INT0和INT1中断计数 说明:按下计数键K1计数值显示在右边数码管上, 按下计数键K2计数值显示在左边数码管上, 按下清零键K3,K4数码管清零*/#include<reg51.h>#include<intrins.h>#define INT8U unsigned char#define INT16U unsigned int sbit K3=P3^4;

2022-02-13 19:38:24 5791

原创 数据结构学习第二十六课(归并排序)

归并排序:两个有序数组合并为一个有序数组步骤:1 两个指针分别指向两个有序数组;2 循环遍历并且比较,符合要求的数据存放到最终的内存段中,并且指针后挪;3 直到有一个数组存放完毕,循环结束;4 将没有放完的数组拷贝到最终的内存段中;1 源文件#include<stdio.h>#include<string.h>//归并排序void merge_sort(int* arr, int len);//递归拆分 left:左边一半第一个元素下标,right:右边

2021-09-11 23:38:12 601

原创 数据结构学习第二十五课(二分查找)

二分查找:在有序序列中查找,每次忽略一半1 源文件/*测试用值:15 20 32 46 57 77 89 133 456 966*/#include<stdio.h>int halfFind(int* arr, int len, int data);int main(){ int arr[] = { 15 ,20 ,32 ,46 ,57 ,77 ,89 ,133 ,456 ,966 }; int n; int r; while (1) { printf("

2021-09-11 23:33:17 576

原创 数据结构学习第二十四课(hush表)

hash表:1 hash三要素:a,数据的范围:数据表示b,合适的hash函数:如科学计数法c,冲突的解决1 源文件#include<stdio.h>#include<iostream>using namespace std;//保存数据的节点struct Node{ struct Node* pNext; int data;};//一个数据:struct Node*struct Hash_table{ struct Node*** arr[10]

2021-09-11 23:30:41 667

原创 数据结构学习第二十三课(图)

图:1 数据:顶点2 关系:边3 根据边是否有方向:有向图,无向图4 图的描述:邻接矩阵:一个一维数组保存顶点,二维数组保存边邻接表:一个一维数组保存顶点(链表头结点),链表保存顶点能到达的边5 网图:边不仅仅描述顶点之间的关联,还表达(代价,权重)等;1 源文件//邻接矩阵描述图#include<stdio.h>#include<iostream>#include<queue>using namespace std;#define Vert

2021-09-11 23:27:26 600

原创 数据结构学习第二十二课(23树)

1,头文件#pragma once#include <string.h>template<class T>class MyTree{ //内部类 节点类型 struct treeNode{ int count; //标记当前节点是 2节点 3节点 还是4节点 T data[3]; //保存数据 treeNode* pArray[4]; //保存指针 treeNode(){//构造函数 count = 0; memset(data,

2021-09-11 23:18:54 634

原创 数据结构学习第二十一课(平衡二叉树)

平衡二叉树/*平衡二叉树:概念:(树中每个节点)左右子树高度差不超过1的有序二叉树;每个节点都先按照有序二叉树的方式来插入:如果不平衡:有四种情况先判断是哪种不平衡的情况,新结点是当前节点的左孩子还是右孩子新节点:pNew当前节点:pCurrent根结点:pRootif(pCurrent==pRoot->pLeft)//当前节点是根结点{if(pNew==pCurrent->pLeft)//新节点是当前节点左孩子{RR();//右旋}else//新节点是当前节点

2021-07-16 20:44:10 651

原创 数据结构学习第二十课(寻路算法之A星寻路)

A星寻路#if 1#include<stdio.h>#include<string.h>#include<vector>using namespace std;#define ROW 10#define COL 10#define zxprice 10#define xxprice 14struct Point{ int row; int col; int f;//代价 int g;//已付出 int h;//预计付出 void getF

2021-07-14 16:37:29 624

原创 数据结构学习第十九课(寻路算法之广度寻路)

广度寻路#include<stdio.h>#include<vector>using namespace std;#define ROW 12#define COL 12//方向enum dirc { p_up, p_down, p_left, p_right };//描述一个点struct Point{ int row; int col;};//辅助地图结点类型struct pathNode{ bool isFind;//是否走过};//准备

2021-07-14 16:36:09 599

原创 数据结构学习第十八课(寻路算法之深度寻路)

寻路算法/*寻路算法:找路径1 深度寻路:不一定能找到最短路径,回退,循环较少,步骤简单,适用于空旷地图;只能走直线2 广度寻路:一定能找到最短路径,不需要回退,循环较多,步骤复杂,适用于较小的复杂地图;只能走直线3 A星寻路:一定能找到最短路径,不需要回退,循环较少,但需要提前设计好代价;只能走斜线*/1,深度寻路1.1头文件#pragma once#include<string.h>template<typename T>class MyStack

2021-07-14 16:34:49 760

原创 数据结构学习第十七课(堆)

堆1,头文件#pragma once#include<iostream>using std::cout;using std::endl;//小顶堆template<typename T>class heap{public: heap():pRoot(NULL),len(0),maxLen(0){} ~heap() { pRoot = NULL; len = 0; maxLen = 0; } void insertNode(const T&am

2021-07-14 16:31:32 564

原创 数据结构学习第十六课(有序二叉树)

有序二叉树1,头文件#pragma oncetemplate<typename T>class MyTree{private: struct Node { T data;//数据 Node* pLeft;//指向左孩子 Node* pRight;//指向右孩子 }; Node* pRoot;//指向树根public: MyTree(); ~MyTree(); void insertNode(const T& data);//插入一个节点到树中

2021-07-14 16:29:30 602

原创 数据结构学习第十五课(无序树)

无序树#pragma once#include<string.h>template <typename T>class MyTree{ //内部类 struct Node { T data;//数据 Node* parent;//指向当前节点的父结点 Node* brother;//指向当前节点的兄弟节点 Node* child;//指向当前节点的子节点 }; Node* pRoot;//指向根结点public: MyTree(); ~MyT

2021-07-14 16:27:35 372

原创 数据结构学习第十四课(重要八种排序)(下)

5,箱排序//箱排序/*箱排序思想:按照某种规律,把数据分成若干个箱子装起来,箱子内部(可以用其他排序方式)最后把箱子组合在一起;*/#include<stdio.h>#include<string.h>//数据个数#define NUM 10//数据范围#define AREA 1000//箱子个数#define BOX_SIZE 10void bucket_sort(int* arr, int len);void bucket_sort(int*

2021-07-14 16:25:09 108

原创 数据结构学习第十四课(重要八种排序附比较方法)(上)

复杂度/*复杂度分析:用来衡量一个算法是好是坏时间复杂度:单位数据要经过多少次运算,达成目的;空间复杂度:单位数据在整个运算过程中占据了多少空间,(临时空间,恒定空间);*/1,冒泡排序void bubble_sort(int* arr, int len){ int t; for (int i = 0; i <= len-2; i++)//轮数 { for (int j = 0; j <= len-2-i; j++)//每一轮j交换范围 { if (arr[

2021-07-14 16:22:12 96

原创 数据结构学习第十三课(C++实现栈)

栈头文件#pragma once#pragma once#include<iostream>using std::cout;using std::endl;template<class T>class MyStack{public: MyStack(); ~MyStack(); //入栈 void push(const T& data); void travel()const; //获取栈顶元素 T getTop()const; //出栈

2021-07-14 16:17:30 77

原创 数据结构学习第十二课(动态数组)

1,一维数组#include<stdio.h>int main(){ int arr[10] = { 0 }; int* pArr = arr; for (int i = 0; i < 10; i++) { arr[i] = i + 1; } for (int i = 0; i < 10; i++) { //printf("%d ", arr[i]); printf("%d ", *arr + i); } return 0;}2,二维数组#

2021-07-14 16:14:59 119

原创 (链式队列实现)PTA:7-1 有趣的队列 (20 分)

7-1 有趣的队列 (20 分)本题重新定义队列出队的操作:队首出队的数字重新在队尾入队。例:队列中有1 2 3三个数字,现要求队首出队,则1从队首出队,同时1从队尾入队,队列变成2 3 1。入队的顺序为1,2,3,4…n,同时给一个二进制字符串,1代表出队操作,0代表入队操作。输入格式:在第一行有两个数字n,m(n<=100,n<m),其中n为入队的数字个数,m代表操作数接下来m行,每行一个数字,1或者0,代表不同的操作输出格式:输出操作后队列的每个数字,数字间以空格分隔,最后

2021-04-24 15:47:34 8709 5

原创 PTA 7-2 回文判断 (20 分)(使用链式栈)

7-2 回文判断 (20 分)回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。编写一个程序,使用栈判定给定的字符序列是否为回文。输入格式:输入待判断的字符序列,按回车键结束,字符序列长度<20。输出格式:若字符序列是回文,输出“YES”;否则,输出“NO”。输入样例:abdba输出样例:YES#include<stdio.h>#include<string.h>#include<stdlib.h&g

2021-04-15 14:50:26 2194

原创 (C语言编写)PTA-7-2 在有序链表中插入数据 (20 分)

#include<stdio.h>#include<stdlib.h>#include<stdbool.h>//结点框架typedef int Data;typedef struct _Node{ struct _Node* next; Data data;}Node;//创建链表Node* createList(){ Node* headNode = (Node*)malloc(sizeof(Node)); headNode->next

2021-03-30 17:35:39 6007

原创 顺序表基本操作--学生成绩管理系统2.0

#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#define MAX_SIZE 8//顺序表初始大小#define INC_SIZE 5//每次 扩容大小void menu(){printf(“\n");printf(“顺序表基本操作\n");printf("1,按位置查找\n”);printf("2,按值查找\n");printf("3,插入\n");printf("4,删除\n");

2021-03-26 15:08:47 670

原创 C++基础学习第十六课(新特性)

第十六课C++11/14/17标准1,强制转换C语言使用Type b=(Type)a的形式进行强制转换.但是有缺点:万物皆可转,不易区分;C++提供了四种类型转换操作符用来在不同场合进行强制转换;类型转换操作符作用static_cast静态类型转换,编译器做类型检查,基本类型能转换,指针不行;reinter_cast重新解释类型;const_cast去掉const属性;dynamic_cast动态类型转换,运行时检查类型安全,(转换失败返回nullpt

2021-03-19 19:51:18 163

原创 C++基础学习第十六课(模板)

第十六课(模板)1,模板和泛型泛型编程是指独立与任何类型的方式编写代码;泛型编程和面向对象编程,都依赖与某种形式的多态.面向对象编程的多态性在运行时应用于存在继承关系的类.一段代码可以忽略基类和派生类之间的差异.在泛型编程中,编写的代码可以用作多种类型的对象.面向对象编程所依赖的多态性称为运行时多态性,泛型编程所依赖的多态性称为编译时多态性或参数式多态性;模板是泛型编程的基础,模板是创建类或者函数的公式;模板是一种对类型进行参数化的工具,有两种形式:函数模板和类模板;2,函数模板针对仅参数类型不

2021-03-18 15:32:35 97

原创 地址表查看方法

低地址->高地址高位存放在高地址八位:+15=0.1111=0.0001111=0F-15=1.1111=1.0001111=1.1110001=F1十六位:+150.1111=0.000 0000 0000 1111=00 0F=0F 00-151.1111=1.000 0000 0000 1111 =1.111 1111 1111 0001=FF F1=F1 FF32位:+15=0.1111=0.000 0000 0000 0000 0000 0000 0000 1111=00

2021-03-17 23:46:42 346

原创 C++基础学习第十五课(异常处理)

10,异常处理1,定义:异常处理就是处理程序中的错误;2,基本思想:让一个函数在发现了自己无法处理的错误时,抛出(throw)一个异常,然后它的(直接或间接)调用者可以吹这个问题;------即将问题检测和问题处理分离;3,异常基本语法1,抛出异常使用throw;2,捕获异常使用try{}catch(){};throw:当问题出现时,程序会抛出一个异常;catch:在你想要处理问题的地方,通过异常处理程序捕获异常;try:try块中的代码标识将被激活的特定异常,它后面通常跟着一个或多个c

2021-03-14 15:10:32 159

原创 C++基础学习第十四课(文件流)

9.文件流1,C++提供了文件流,fstream来处理文件;数据类型描述ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息;ifstream该数据类型表示输入文件流,用于从文件读取信息;fstream该数据类型通常表示文件流,且同时具有ofstream和ifstream两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息;2,在从文件读取信息或者向文件写入信息之前,必须先打开文件;`ofstream用来打开文件进行写操作;`

2021-03-14 15:09:23 94

原创 C++基础学习第十三课(IO流类)

1,I/O流在C++的标准库中,将用于进行数据输入输出的类统称为“流类”.cin是流类istream的对象,cout是流类ostream的对象.要使用流类,需要在程序中包含头文件;2,标准I/O对系统指定的标准设备的输入和输出,即从键盘输入数据,输出到显示器屏幕,这种输入输出称为标准的输入和输出,简称标准I/O;3,文件I/O将外存磁盘文件作为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件,这种方式称为文件的输入和输出,简称文件I/O;4,串I/O对内存中指定的空间进行输入和

2021-03-14 15:07:40 214

原创 C++基础学习第十二课(小知识)

1,面向对象三大概念1,封装:突破了C语言函数的概念;2,继承:代码复用–即可以用以前写的代码;3,多态:可以使用未来写的代码;2,函数重载,重写,重定义1,函数重载:必须在同一个类(作用域)中进行;子类无法重载父类中的函数,只能进行重定义;2,函数重定义:一旦子类写了和父类同名的成员函数,父类的函数将被覆盖,无法直接访问;3,函数重写:重写关系发生在父类与子类之间,并且父类和子类中的函数具有完全相同的函数原型;使用virtual声明的函数重写,会在父类指针调用时,根据指针指向的实际对象的类型

2021-03-12 17:52:48 108

原创 C++基础学习第十一课(多继承和多态)

第十一课1,多继承定义派生类只有一个基类,称为单继承.C++支持多继承,即一个派生类可以有两个或多个基类;2,多继承声明class 派生类名:访问控制 基类名1,访问控制 基类名2...{ 数据成员和成员函数声明;};注意点:1,类C可以根据访问控制同时继承类A和类B的成员,并添加自己的成员;2,如果类A和类B有同名的成员,需要使用域运算符::显示调用;3,多继承的二义性1,如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能

2021-03-12 17:50:46 343

原创 C++基础学习第九课(C++继承)

第九课1,类的继承·继承可以使得子类具有父类的属性和仿佛或者重新定义、追加属性和方法;2,继承相关概念·继承是类之间定义的一种重要关系;·一个B类继承A类,或者说从A类派生B类;·那么A类称为基类,B类称为派生类(子类);如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WNmI1gaM-1614928508549)(C:\Users\daili\AppData\Roaming\Typora\typora-user-images\image-20210305

2021-03-05 15:15:51 188

原创 C++基础学习第八课(运算符重载)

第八课1,意义:·运算符重载,就是赋予运算符新的含义,和函数重载一样,一个函数名可以用来代表不同功能的函数;··运算符重载是为了解决类对象之间的运算符,通常的运算符只用于算术运算,如常量int之间,因为编译器已经定义了,而一个类两个对象之间成员进行运算必须重新定义,让编译器在遇到对象运算时能按我们要求进行运算2,运算符重载限制1,可以重载的运算符算术运算符:+ - * / %自增、自减运算符:++ –位运算符:| & ~ ^ <<

2021-03-03 12:47:40 125

原创 C++基础学习第七课(友元函数与友元类)

第七课1.explicit关键字·C++提供了关键字explicit,禁止通过构造函数进行的隐式转换,声明为explicit的构造函数不能在隐式转换中使用、·注意:explicit用于修饰构造函数,防止隐式转换,是针对单个参数的构造函数(或者除了第一个参数外其余参数外其余参数都有默认值的多参构造)而言;事例: class My { private: char*m_name; int m_age; public:

2021-02-28 13:05:58 181

原创 C++基础学习第六课(构造函数与析构函数)

第六课1,构造函数·创建一个对象时,常常需要做某些初始化的工作,例如对数据成员赋初值;·为了解决这个问题,C++提供了构造函数,用来处理对象的初始化,构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行;1.1定义:·C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫构造函数;·构造函数在定义时可以有参数,因此可以发生重载;·没有任何返回类型的声明;1.2调用:·自动调用(隐式):一般情况下,C++编译器会自动调用构造函数(无

2021-02-26 20:21:46 217

以编译好的OpenCV文件,含msvc和MinGW两种编译的版本,都是OpenCV3.x

以编译好的OpenCV文件,含msvc和MinGW两种编译的版本,都是OpenCV3.x

2023-09-12

贪吃蛇Qt版,附代码和程序

Qt版本为5.14 使用C++编写 有登录界面和游戏界面

2023-08-28

模仿qq聊天设计的界面,具有登录和局域网内多人聊天功能

涉及软件和技术: Qtcreator MYSQL C++ CSS SQL

2023-08-28

C++实现视频音乐播放器.rar

使用C++及vlc写的播放器,可以放音乐及视频;

2021-09-22

数据结构和算法3.1.pdf

学习数据结构的佳作,轻松入门

2021-06-27

推箱子附详细源码文档.rar

各种小游戏

2021-06-27

贪吃蛇附详细源码文档_rar

各种小游戏

2021-06-27

推箱子2.0_boxed.exe

纯C语言编写

2021-02-22

数字雨_boxed.zip

炫酷的数字雨..

2021-02-02

动漫美少女拼图游戏_boxed.zip

简单的拼图游戏..

2021-02-02

贪吃蛇_boxed.zip

贪吃蛇小游戏

2021-02-02

扫雷小游戏_boxed.zip

自己制作的扫雷,比较简陋,随便玩玩

2021-02-02

空空如也

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

TA关注的人

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