自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (5)
  • 收藏
  • 关注

原创 代码随想录1刷—单调栈篇

如果当前遍历的元素(柱子)高度等于栈顶元素的高度,要跟更新栈顶元素,因为遇到相相同高度的柱子,需要使用最右边的柱子来计算宽度。如果当前遍历的元素(柱子)高度小于栈顶元素的高度,就把这个元素加入栈中,因为栈里本来就要保持从小到大的顺序(从栈头到栈底)。单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是只需要遍历一次。每一列雨水的高度,取决于,该列左侧最高的柱子和右侧最高的柱子中矮的柱子的高度。的情况,此时满足递增栈(栈头到栈底的顺序),所以直接入栈。......

2022-07-20 00:05:47 1635 1

原创 代码随想录1刷—动态规划篇(四):编辑距离

初始化两个指针 i 和 j,分别指向 s 和 t 的初始位置。每次匹配成功则 i 和 j 同时右移,匹配 s 的下一个位置,匹配失败则 j 右移,i 不变,尝试用 t 的下一个字符匹配 s。最终如果 i 移动到 s 的末尾,就说明 s 是 t 的子序列。动态规划编辑距离的入门题目,从题意中可以发现,只需要计算删除的情况,不用考虑增加和替换的情况。1、dp[i][j]dp[i][j]dp[i][j] 表示以下标i−1i-1i−1为结尾的字符串sss,和以下标j−1j-1j−1为结尾的字符串ttt,相同子序

2022-07-13 19:52:08 207

原创 代码随想录1刷—动态规划篇(三)

1、2、决定 dp[i]dp[i]dp[i] 的因素就是第 iii 房间偷还是不偷。然后 dp[i]dp[i]dp[i] 取最大值,即3、递推公式的基础就是 dp[0]dp[0]dp[0] 和 dp[1]dp[1]dp[1] ,4、 dp[i]dp[i]dp[i] 是根据 dp[i−2]dp[i-2]dp[i−2] 和 dp[i−1]dp[i-1]dp[i−1] 推导出来的,那么一定是213. 打家劫舍 II和 198.打家劫舍 的唯一区别就是 房屋成环了。对于一个数组,成环的话主要有如下三种情况:[外

2022-07-12 20:39:13 251

原创 代码随想录1刷—动态规划篇(二):背包问题

有nnn件物品和一个最多能背重量为www的背包。第iii件物品的重量是weight[i]weight[i]weight[i],得到的价值是value[i]value[i]value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。每一件物品其实只有两个状态,取或者不取,所以可以使用回溯法搜索出所有的情况,那么时间复杂度就是O(2n)O(2^n)O(2n),这里的nnn表示物品数量。所以暴力的解法是指数级别的时间复杂度。进而才需要动态规划的解法来进行优化。为便于理解,先规定背包最大重量为

2022-07-09 21:11:44 525

原创 代码随想录1刷—动态规划篇(一)

核心:动态规划中每一个状态一定是由上一个状态推导出来的。1、的定义为:第个数的斐波那契数值是2、状态转移方程;3、初始化:4、是依赖 和 ,那么遍历的顺序一定是从前到后遍历的、5、当为的时候,数组应该是数列:如果代码写出来,发现结果不对,就把dp数组打印出来看看和推导数列是否一致。优化当然可以发现,实际上只需要维护两个数值就可以了,不需要记录整个序列。递归解法70. 爬楼梯第三层楼梯的状态可以由第二层楼梯 和 到第一层楼梯状态推导出来,所以可以用动态规划。1、: 爬到第层楼梯,有种方法2、3、,

2022-07-09 12:11:56 617

原创 代码随想录1刷—贪心算法篇(二)

局部最优:当气球出现重叠,一起射,所用弓箭最少。全局最优:把所有气球射爆所用弓箭最少。如果真实的模拟射气球的过程,应该射一个,气球数组就remove一个元素,这样最直观,毕竟气球被射了。但仔细思考一下就发现:为了让气球尽可能的重叠,需要对数组进行排序。如果把气球排序之后,从前到后遍历气球,被射过的气球仅仅跳过就行了,没有必要让气球数组remote气球,只要记录一下箭的数量就可以了。如果气球重叠了,重叠气球中右边边界的最小值 之前的区间一定需要一个弓箭。注意题目中说的是:满足,则该气球会被引爆。那么说明两个气

2022-07-08 19:29:33 171

原创 代码随想录1刷—贪心算法篇(一)

贪心的本质是选择每一阶段的局部最优,从而达到全局最优。贪心算法一般分为如下四步:贪心没有套路,没有模板,刷题或者面试的时候,手动模拟一下感觉可以局部最优推出整体最优,而且想不到反例,那么就试一试贪心。为了满足更多的小孩,就不要造成饼干尺寸的浪费。大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。可以尝试使用贪心策略,先将饼干数组和小孩数组排序。然后从后向前遍历小孩数组,用大饼干

2022-07-08 15:10:20 311

原创 代码随想录1刷—回溯篇(二)

491. 递增子序列本题求自增子序列,是不能对原数组进行排序的,所以不能使用之前的去重逻辑!同一父节点下的同层上使用过的元素就不能在使用了。利用数组去重程序运行的时候对unordered_set 频繁的insert效率是比较低的,因为unordered_set需要做哈希映射(也就是把key通过hash function映射为唯一的哈希值),相对来说比较费时间,而且每次重新定义set,insert的时候其底层的符号表也要做相应的扩充。而本题的数值范围[-100,100],所以完全可以用数组来做哈希。数组

2022-07-06 22:56:31 286

原创 代码随想录1刷—回溯篇(一)

回溯是递归的副产品,只要有递归就会有回溯。回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。虽然回溯法是个非常低效的办法,但一些问题只能用回溯来解决。还没有更高效的解法。回溯法一般是在集合中递归搜索,集合的大小构成了树的宽度,递归的深度构成的树的深度。77. 组合每次从集合中选取元素,可选择的范围随着选择的进行而收缩,调整可选择的范围。(因此需要一个参数,为int型变量startIndex,这个参数用来记录本层递归的中

2022-07-06 15:57:36 155

原创 代码随想录1刷—二叉树篇(三)

最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”注意求最小公共祖先,需要从底向上遍历,而二叉树只能通过后序遍历(即:回溯)实现从底向上的遍历。在回溯的过程中,因为要使用递归函数的返回值(也就是代码中的left和right)做逻辑判断,所以必须要遍历整棵二叉树,即使已经找到结果了,依然要把其他节点遍历完。要理解如果返回值left为空,right不为空的情况下,为什么返回ri

2022-07-06 00:07:57 132

原创 代码随想录1刷—二叉树篇(二)

如果是模拟前中后序遍历就用栈,如果是适合层序遍历就用队列;其他情况:先用队列试试行不行,不行就用栈。遍历+记录遍历的节点数量就可以了。利用完全二叉树性质的求法完全二叉树只有两种情况,情况一:就是满二叉树,情况二:最后一层叶子节点没有满。对于情况一,可以直接用 2^树深度 - 1 来计算,注意这里根节点深度为1。对于情况二,分别递归左孩子,和右孩子,递归到某一深度一定会有左孩子或者右孩子为满二叉树,然后依然可以按照情况1来计算。完全二叉树(一)如图:完全二叉树(二)如图:可以看出如果整个树不是满二叉树,

2022-07-05 17:17:19 1703

原创 代码随想录1刷—二叉树篇(一)

之前提到过优先级队列其实是一个堆,堆就是一棵完全二叉树,同时保证父子节点的顺序关系。二叉搜索树是有数值的了,二叉搜索树是一个有序树。下面这两棵树都是搜索树它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。最后一棵 不是平衡二叉树,因为它的左右两个子树的高度差的绝对值超过了1。C++中map、set、multimap,multiset的底层实现都是平衡二叉搜索树,所以map、set的增删操作时间时间复杂度是lognlog nlogn,注意我这里没有说unordered

2022-06-29 15:06:19 216

原创 代码随想录1刷—栈和队列篇

栈和队列是STL(C++标准库)里面的两个数据结构。C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。三个最为普遍的STL版本:接下来介绍的栈和队列也是SGI STL里面的数据结构, 知道了使用版本,才知道对应的底层实现。栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。 不像是set 或者map 提供迭代器iterator来遍历所有元素。**栈是以底层容器完成其所有的工作,对外提供统一

2022-06-26 18:40:06 335

原创 代码随想录1刷—字符串篇

的两种实现方式交换数值:位运算:541. 反转字符串 II剑指 Offer 05. 替换空格如果从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素向后移动。其实很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作。这么做有两个好处:151. 颠倒字符串中的单词剑指 Offer 58 - II. 左旋转字符串题外话:和到底有什么不一样?本质上单独拿出来说,和的意思是一样的,就是。如果当做运算符来说,如果和这样的

2022-06-26 12:54:45 313

原创 代码随想录1刷—哈希表篇

哈希表是根据关键码的值而直接进行访问的数据结构。一般哈希表都是用来快速判断一个元素是否出现集合里。当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!将学生姓名映射到哈希表上就涉及到了hash function ,也就是哈希函数一般hashcode是通过特定编码方式,可以将其他数据格式转化为不同的数

2022-06-25 17:06:12 276

原创 代码随想录1刷—链表篇

通过自己定义构造函数初始化节点:使用默认构造函数初始化节点:所以如果不定义构造函数使用默认构造函数的话,在初始化的时候就不能直接给变量赋值!注意:C++里最好是再手动释放这个D节点,释放这块内存。双指针递归707.设计链表206.反转链表双指针递归24.两两交换节点递归19.删除链表的倒数第N个节点双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。注意几个细节:1

2022-06-24 19:27:41 305

原创 代码随想录1刷—数组篇

数组为有序数组数组中无重复元素(因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的)如果题目描述满足如上条件,可想一想是不是可以用二分法了。双指针法双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作,在数组和链表的操作中是非常常见的。此外还有双向指针法:两个指针分别从前后开始进行遍历并进行操作。滑动窗口(参考labuladong算法小抄)所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。先思考如下问题:1、当移动 扩

2022-06-23 15:31:10 219

原创 代码随想录1刷—算法性能分析摘记

大家可能会发现内存对齐岂不是浪费的内存资源么?是这样的,但事实上,相对来说计算机内存资源一般都是充足的,我们更希望的是提高运行速度。编译器一般都会做内存对齐的优化操作,也就是说当考虑程序真正占用的内存大小的时候,也需要认识到内存对齐的影响。想要算出自己程序会占用多少内存就一定要了解自己定义的数据类型的大小,如下:注意图中有两个不一样的地方,为什么64位的指针就占用了8个字节,而32位的指针占用4个字节呢?1个字节占8个比特,那么4个字节就是32个比特,可存放数据的大小为2^32,也就是4G空间的大小,即:可

2022-06-23 14:20:26 365

原创 数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配

无权图中,如何找到图中点与点之间的最短路径?(前提:有边 有权重)最大流问题是一种组合最优化问题,指的是如何充分利用装置的能力,使得运输的流量最大以取得最好的效果。1、构建残量图2、找一条简单路径,找到路径上的瓶颈值(当前路径所允许流过的最大流量),更新残量图路径权值,并将瓶颈值所在边擦除,重复该操作,直到无简单路径。1、构建残量图2、找一条简单路径,找到路径上的瓶颈值(当前路径所允许流过的最大流量),更新残量图路径权值,并将瓶颈值所在边擦除。3、添加反向路径上例左图为原图,根据原图可容易看出最大流为走s→

2022-06-16 17:58:30 425

原创 数据结构与算法学习笔记14:动态规划 / 位运算 / 格雷码 / 异或

将一个大问题拆解成几个子问题,分别求解这些子问题,即可推断出大问题的解。动态规划和分治法很类似,但动态规划并**不满足分治法中“子问题的解相互独立”**这一性质。空间换时间。有点暴力的剪枝的感觉,暴力是把所有的都列出来,动态规划是只要可行解。无后效性: 如果给定某一阶段的状态,则在这一阶段以后过程的发展不受这阶段以前各段状态的影响。(未来与过去无关,一旦f(w)确定,就不关心如何凑出f(w)了)最优子结构:大问题的最优解可以由小问题的最优解推出。一个问题能否用动态规划来解决?1、分阶段(大问题->子问题)2

2022-06-15 14:35:50 145

原创 数据结构与算法学习笔记13:桶排序+基数排序

针对于位数相同的小数的排序,将数据分成多个组,各组之内各自排序。利用的是哈希的思想。对于待排序序列大小为 N,共分为 M 个桶,主要步骤有:N 次循环,将每个元素装入对应的桶中O(N)O(N)O(N);M 次循环,对每个桶中的数据进行排序(平均每个桶有 NM\frac{N}{M}MN​ 个元素),一般使用较为快速的排序算法,快速的排序算法时间复杂度为 O(NlogN)O(NlogN)O(NlogN),因此每个桶的时间复杂度为∑O(NM∗logNM)∑ O(\frac{N}{M}*log\frac{N}{M}

2022-06-12 17:57:22 133

原创 数据结构与算法学习笔记12:排序分析/快速排序/归并排序/堆排序/递归时间复杂度/STL及C++的Sort底层实现

T(n)={O(1),n=n0aT(nb)+f(n),n>n0T(n)=\begin{cases} O(1), n=n_0\\aT(\frac{n}{b})+f(n), n>n_0\end{cases}T(n)={O(1),n=n0​aT(bn​)+f(n),n>n0​​最好时间复杂度(理想情况下);最坏时间复杂度(时间消耗的上限)空间复杂度(有无new、malloc、递归)是否稳定(判断数值相同的两个元素在排序前后的相对位置是否发生变化)稳定性的意义:为了排序完成之后维持与原数据的相对性分治法的

2022-06-11 18:05:23 220

原创 数据结构与算法学习笔记11:二叉树层打印/跳表/冒泡排序/选择排序/插入排序/希尔排序/计数排序

如何将一颗二叉树按层打印,一层输出到一行上?随机结构的有序链表通过建立索引的方式,对于数据量越大的有序链表,通过建立多级索引,查找效率提升会非常明显。一般高度都设定为log2nlog_2 nlog2​n!二分法也是log2nlog_2 nlog2​n,那么为什么要用跳表呢?核心思想:比较相邻的元素。如果第一个比第二个大,就交换他们两个。若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数C和记录移动次数M均达到最小值:Cmin=n−1,Mmin=0C_{min}=n-1,M_{min}=0C

2022-06-10 19:10:33 208

原创 数据结构与算法学习笔记10:图/深度广度遍历/最小生成树/最短路径算法/拓扑排序

**有向图:**图中的边有次序性且有方向性​ 和 两条边**无向图:**图中的边无次序性且无方向性​ (v1,v3)和(v3,v1) 同一条边**有向完全图:**图中所有顶点间所有可能的边均存在,其数量为An2A_n^2An2​,即为n(n−1)n(n-1)n(n−1)**无向完全图:**图中所有顶点间所有可能的边均存在,其数量为Cn2C_n^2Cn2​,即为n(n−1)2\frac{n(n-1)}{2}2n(n−1)​**有向连通图:**图中所有相异的成对顶点均有路径可通(1能............

2022-06-09 14:49:48 294

原创 数据结构与算法学习笔记9:哈夫曼树和字典树

需要明晰定义:权值/带权节点/路径长度/带权路径长度WL/树的所有叶结点的带权路径长度之和WPL路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。图 1 中,从根结点到结点 a 之间的通路就是一条路径。路径长度:在一条路径中,每经过一个结点,路径长度都要加 1 。例如在一棵树中,规定根结点所在层数为1层,那么从根结点到第 i 层结点的路径长度为 i - 1 。图 1 中从根结点到结点 c 的路径长度为 3。结点的权:给每一个结点赋予一个新的数值,被称为这个结点的权。例如,图 1 中结点 a 的权为

2022-06-07 15:10:59 210

原创 数据结构与算法学习笔记8:B树和B+树

适合做索引的要求是搜索速度快,主要有以下三种结构:多路平衡搜索树B-Tree 是B树 中间是杠 不是B减树 别犯傻!!几阶就是几叉的意思~对于m阶的B树来说:1、每个节点最多有m-1个关键字2、根节点最少有1个关键字3、每个节点最少有ceil(m-2)-1个关键字(ceil是向上取整的意思)4、每个节点的关键字都按照从小到大的顺序排列,每个关键字的左子树的所有关键字都小于它,右子树的所有关键字都大于它5、所有叶子节点都位于同一层插入的键值对也成为记录;如果要插入的记录已经存在,需要将插入的value替换掉旧

2022-06-02 20:29:34 157

原创 数据结构与算法学习笔记7:红黑树

数据结构与算法学习笔记7:红黑树红黑树特点红黑树的创建查找(节点添加的位置)节点添加(新来节点是红色的)代码删除分析代码应用红黑树优势红黑树在Linux底层应用:Linux中的epoll模型红黑树AVL 绝对平衡(高度差)红黑树 相对平衡(颜色)红黑树是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 可以在O(log2n)O(log_2n)O(log2​n)时间内做查找,插入和删除,这里的

2022-05-10 13:16:13 129

原创 数据结构与算法学习笔记6:BST二叉搜索树

数据结构与算法学习笔记6:BST二叉搜索树 BSTBST的创建BST的删除如何将一棵排序二叉树转变为有序的双向链表?BST的旋转右旋(左的左引起的不平衡时进行)父子关系:左旋(右的右引起的不平衡时进行)父子关系:左右旋VS右左旋二叉搜索树 BSTBST的创建创建思路:如果树为空,那么来了就是根非空,新结点和父节点比较,比父节点大进右子树,比父节点小进左子树创建代码void AddNode(BinaryTree **pTree,int nNum){ //数值放入节点

2022-05-05 17:07:31 474

原创 数据结构与算法学习笔记5:二叉树

数据结构与算法学习笔记6树二叉树**二叉树的特性:****满二叉树 vs 完全二叉树**完全二叉树的特性:二叉搜索树 / 排序二叉树 (Binary Search Tree)二叉树的创建(粗暴版)遍历深度**前序遍历:****中序遍历:****后序遍历:**广度层序遍历:二叉树的创建(前序递归版)如何创建完全二叉树树树:一对多[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TNn0JnUX-1651567717166)(https://cdn.jsdelivr.n

2022-05-03 16:49:23 769

原创 数据结构与算法学习笔记4:递归+分治法

数据结构与算法学习笔记4递归斐波那契数列青蛙跳台阶问题链表倒序打印分治法二分查找/折半查找 Binary Search题目1:快速幂题目2:如何判断一个数是否为2的次幂递归指在函数的定义中使用函数自身的方法。(在栈区消耗空间)特点:① 必须可以分解成若干个规模较小,但是与原问题形式相同的子问题。并且这些子问题可以用完全相同的解决思路来进行解决。② 递归问题的演化过程是一个把原问题从大到小进行拆解的过程,并且会有一个明确的终点。最后从这个临界点开始,把小问题的答案原路返回,原问题便得以解决。

2022-04-23 16:54:46 1233

原创 数据结构与算法学习笔记3:字符串+哈希表

数据结构与算法学习笔记3字符串常见函数题目1 替换空格2 单词倒置3 字符移位KMP 字符串匹配算法前缀 后缀概念KMP 算法分析代码Sunday 算法分析代码哈希表 HashTable/散列表哈希表创建散列函数解决哈希冲突的方法代码(基础版~)字符串C++中有string本文暂讨论C语言中char,下为两种定义方式char *str = “Haha”; // 字符常量区 , 不能重新赋值str这个指针指向"Haha"这个字符串(位于字符常量区,只能读,不能写),str是指针,占用4个字节,

2022-04-19 23:00:02 450

原创 数据结构与算法学习笔记2:栈和队列

数据结构与算法学习笔记2栈 stack堆和栈的区别静态变量tips跨文件使用tips:关键字extern指针传递队列 queue队列类型:单端队列:循环队列:**r+1%n**?**循环队列如何判断队列为空or为满?**栈和队列 相关题目括号匹配问题约瑟夫环问题队列和栈的相互转换栈 stack受限线性表先进后出 FILO题外话:堆和栈是内存区域的问题,栈和队列是数据结构的问题,两者没有任何关系。堆和栈的区别申请空间的方式和回收不一样。堆区的空间要向系统申请,malloc和new,

2022-04-18 18:12:36 375

原创 数据结构与算法学习笔记1:数组+链表

数据结构与算法学习笔记1效率时间复杂度(Time Complexity)空间复杂度(Space Complexity)一对一:线性结构数组查找增加/删除: O(n)数组元素的跨界访问题1链表增加/删除倒置链表折叠顺序链表合并回文链表链表形式的加法复杂/随机链表的复制单向链表相交问题单向链表是否有环效率时间复杂度(Time Complexity)最好/最坏/平均遵循的原则:复杂度与其具体的常系数无关。多项式级复杂度相加的时候,把其高项作为结果。O(1)含义为,某个任务通过有限可数的资源

2022-04-17 15:02:10 402

原创 微型计算机控制技术:模拟量输入通道 简述题 + ADC接口电路设计分析

模拟量输入通道模拟量输入通道的结构组成什么是传感器?选择传感器应注意哪些性能指标?定义:被检测的量值形式变换为另一种与之有确定关系、且便于计量的量值形式的器件或者装置。它实现两种量值之间的变化,通常将被测物理量转换为电信号,目的是为了便于计量、检测。性能指标:输入输出特性、分辨度和精确度、稳定性。传感元件(传感器)和变送器有什么区别?1、接线制与电源:传感器有二线制、三线制、四线制的,有的需要额外供电电源,有的不需要供电电源。变送器基本上是两线制且供电电源与信号为同一组线。2、信

2022-04-13 15:30:30 3475 2

原创 C++语言学习笔记15:Clean 垃圾清理插件

C++语言学习笔记15:Clean 垃圾清理插件对话框STET1 图片切换功能导入位图资源插入图片控件并修改属性添加消息处理函数step2 开发思路及类关系图step3 添加控件及MFC类step4 设置各对话框清扫/显示目录窗口设置目录窗口窗口的切换功能step 5 清扫/显示界面的按钮功能编写添加目录功能删除目录功能清空目录功能step 6 右击菜单功能设置菜单显示菜单事件处理功能添加step 5 设置目录界面的按钮功能编写下拉列表“请选择目录”功能实现选择后确定功能的实现完成功能(截取后缀名的实现)

2022-04-13 01:30:16 1151

原创 C++语言学习笔记14:DrawScreen 截屏绘制插件

C++语言学习笔记14:DrawScreenMFC小项目: DrawScreen 截屏绘制插件step 1 窗口样式修改step 2 工具栏图标设置step 3 esc关闭窗口的快捷键设置step 4 窗口贴图(获取桌面)step 5 功能填充曲线功能直线功能矩形功能实心圆三角形bug :绘制时图形闪烁明显bug:只能绘制一次step 6 ctrl+Z 快捷键撤回设置step 7 色板功能step 8 填充功能step 9 保存功能step 10 回收空间MFC小项目: DrawScreen 截屏绘制插

2022-04-08 21:53:22 663

原创 C++语言学习笔记13

C++语言学习笔记13Win32-游戏壳改进-消息映射表MFC标准单文档界面图示MFC:微软基础类库Win32-游戏壳改进-消息映射表//WinMain.cpp// window 应用程序,多字符集#include <windows.h>#include <windowsx.h>#include "Gameapp.h"LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP

2022-04-08 11:59:24 96

原创 C++语言学习笔记12

C++语言学习笔记12list和map的使用场景正反向迭代器正反向迭代器的转换转换图示stack 栈queue 队列win32项目小tips贴图效果受到背景色影响怎么办?原理如下:list和map的使用场景#include <iostream>using namespace std;#include <list>#include <string>#include <map>#include <algorithm>//struct

2022-04-04 20:57:47 736

原创 C++语言学习笔记11

C++语言学习笔记11函数模板函数模板之冒泡排序类模板各种情况1.0类模板各种情况2.0STL标准模板库标准模板库之容器sequence序列容器list 链表vector 动态数组/向量deque 队列associative关联容器map容器查阅文档见下:sequence序列容器listvectordequeassociative关联容器mapset容器-迭代器-算法 ——关系表函数模板#include<iostream>#include<typeinfo>using nam

2022-04-02 17:41:22 797

原创 C++语言学习笔记10

C++语言学习笔记10拷贝构造函数浅拷贝问题解决浅拷贝问题:深拷贝operator=(重载等号函数)解决浅拷贝问题:深拷贝整理:空类中默认的函数(4个)设计模式之单例模式懒汉式饥汉式设计模式之模板方法模式拷贝构造函数// 空类中编译器会提供一个默认的特殊的构造函数:拷贝构造函数// 拷贝构造函数 函数名 当前类名 参数const 当前类的引用// 拷贝构造函数在用当前类的一个对象给另一个对象初始化的时候时被调用// 参数中对象给this对象成员依次初始化浅拷贝问题如果类中成员存在指针变量

2022-03-30 22:49:15 845

C++MFC对话框小项目:Clean 垃圾清理插件

C++实践小项目:Clean 垃圾清理插件

2022-04-13

C++MFC单文档小项目:DrawScreen截屏绘制插件

C++MFC项目:DrawScreen截屏绘制插件

2022-04-08

WIn32-MFC.zip

WIn32-MFC.zip

2022-04-08

C++MFC项目:小游戏之飞机大战

C++小游戏:飞机大战

2022-03-30

基于Arduino与AD8232的实时心电图系统设计

该资源内包括Arduino IDE的参考源代码及模块说明和测试代码、processing心电图显示设计的源代码。

2021-07-12

空空如也

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

TA关注的人

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