自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 学习编程该如何记笔记(摘自简书、博客)

回首自己做了很多笔记在学习数构和C++上,现在思考下应不应该这样记笔记,是不是有什么需要修改的做法。------总纲:------记你觉得有必要的东西随时间记录:1、概念理解有偏差的2、细节没有处理好的TIPS3、启发性的idea4、总结积累到一定的笔记量后要整理------分类:------1、需再次强调的内容2、已经吸收的内容3、大致了解但要实际操作存在一定困难的内容...

2020-04-06 11:41:17 2094

原创 MATLAB学习笔记四——程序结构

matlab中for、while、if else、switch语句的语法与应用

2022-10-19 16:47:03 197 1

原创 MATLAB学习笔记三——矩阵的构造、下标与四则运算

MATLAB矩阵的构造、下表与四则运算,这是MATLAB矩阵计算的必要内容

2022-10-19 12:50:22 1375

原创 MATLAB学习笔记二——元胞数组、结构体

元胞数组cell,结构体struct用法简介

2022-10-18 19:02:09 1997

原创 MATLAB学习笔记一——变量、字符与矩阵

也是很久没写过markdown了,康复训练吧。

2022-10-18 16:35:04 1046

原创 对于2020年以来的感悟与感想(我想我要重新学习了)

近两年没学习计算机知识,我要重启,这是我的感悟。

2022-05-18 12:40:05 219 5

原创 重新系统学习C++遇到的坑(系列二)(写了关于const和*(或&)的混合使用,该如何理解?)

类型unsigned int可缩写成unsignedint、char、double这些内置类型,实际上可以看成int类类型、char类类型、double类类型,因为类设计的目的之一是让我们能像使用C++内置类型一样自然地使用类负数转换为无符号数,结果等于这个负数对无符号类型表示的数值总数(看这个无符号类型所占字节,即2的几字节次方)取模后的余数2的32次方=4294967296-32转换为无符号整型数为4294967264(负数加上无符号整型数能表示最大值),-1转换为无符号整型数为4294967.

2020-08-02 08:51:23 221

原创 重新系统学习C++遇到的坑(系列一)

在没有using namespace std;这一行的时候,如果用到endl,别忘写成std::endl;

2020-07-21 11:17:13 135 2

原创 锻练编程思维——每日一题:《剑指offer》二叉树的下一个结点

题目描述题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。题目所给代码框架:/*struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLinkNode(int x) :val(x), lef

2020-06-10 20:22:34 96

原创 锻练编程思维——每日一题:《剑指offer》二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。题目所给代码/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: int TreeDe

2020-06-08 18:25:33 115

原创 锻练编程思维——每日一题:《剑指offer》求1+2+3+。。。+n

目录题目描述题目分析题解代码题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。题目所给代码:class Solution {public: int Sum_Solution(int n) { }};题目分析在计算机里,求1+2+3+…+n得求1+2+3+…+n-1,求1+2+3+…+n-1得求1+2+3+…+n-2,求1+2+3+…+n-2得求1+2+3+

2020-06-06 18:11:52 155

原创 EssentialC++第七章总结+课后习题+踩雷清单(最后一期,至此EssentialC++完结!)

总结这一章讲了异常处理。首先你得有个抛出异常,用throw表达式,可以throw整数、字符串、异常类类对象,可以定义异常类然后需要捕获异常,用catch子句,catch{//…}异常对象的类型是会和捕获并处理异常的catch子句比对的,看哪个catch子句能处理这种类型的异常对象,catch子句可以重新抛出异常交由其他catch子句处理,就在catch子句最后写个throw;就行。捕获任何类型异常,写catch(…){//…}然后讲了提炼异常,介绍try块,try{//…}和catch子句搭配,

2020-06-06 13:36:47 341

原创 Essential C++学习记录&笔记整理45(局部资源管理、标准异常)

目录局部资源管理auto_ptr标准异常解析new表达式的具体工作过程bad_alloc异常类自己编写异常类并将其继承于exception之下ostringstream类istringstream类局部资源管理函数执行之初所分配的资源不一定最终会被释放掉。比如某函数里使用了new表达式从堆内存里分配空间给一个对象,然后把对象地址分配给一个指针。假如这个操作执行完以后,在释放资源的语句之前这个函数或这个函数内调用的函数抛出了异常,而且没在这个函数里解决,那么释放资源的语句不会被执行,这就极其危

2020-06-05 19:00:09 248

原创 Essential C++学习记录&笔记整理44(提炼异常(try块))

目录提炼异常try块介绍try块对异常处理机制的作用(有了try块异常处理机制该怎么办)初学C++在异常处理上犯的错误提炼异常try块介绍try块以关键字try作为开始,然后{},catch子句放在{}之后。据给自:bool has_elem(Triangular_iterator first,Triangular_iterator last,int elem){ bool status=true; try { while(first!=last) { if(*first=

2020-06-05 14:05:13 168

原创 Essential C++学习记录&笔记整理43(抛出异常、捕获异常)

到了第七章,异常处理,最后一章,内容比较少,坚持看完,坚持记笔记,奥力给!目录抛出异常介绍异常及其处理异常对象和异常类及异常类的用法捕获异常catch子句抛出异常介绍异常及其处理异常处理机制两个主要成分:①异常的坚定与发出,②异常的处理方式异常产生及处理都可能发生在函数上异常出现之后,程序的执行便被暂停。同时异常处理机制搜索程序中有能力处理这一异常的地点。异常处理完毕,程序继续在异常处理点接着执行C++通过throw表达式产生异常。举个例子:inline void Triangular

2020-06-04 23:46:14 211

原创 锻练编程思维——每日一题:《剑指offer》删除链表中重复的结点

题目描述题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5题目所给代码框架:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/c

2020-06-04 15:36:05 109

原创 EssentialC++第六章总结+课后习题+踩雷清单

总结讲了模板类,这是在原基础上把对象类型抽离出来,变成template<typename 占位符>这种形式。然后怎么定义模板类,模板成员函数,和定义一般模板函数大同小异,抽离出来类型就可以,注意别忘把类型抽离出来,然后注意不该改成模板类型的别改成模板类型(比如大小、长度,这只能是整数,名字,这只能是string型)关于模板样式的形参,写这样的形式:const 模板类型名& 形参名,因为模板类型也许是内置类型也许是class类型,这样的格式避免复制所带来巨大的开销,使程序效率降低。

2020-06-03 17:09:05 285

原创 锻练编程思维——每日一题:《剑指offer》二叉树的镜像

题目描述题目描述操作给定的二叉树,将其变换为源二叉树的镜像。题目给的代码框架:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: void Mirror(TreeNode *pRoot) { }}

2020-06-03 09:22:15 103

原创 Essential C++学习记录&笔记整理42(以模板参数作为一种设计策略、成员模板函数)

目录以模板参数作为一种设计策略成员模板函数非模板类里定义成员模板函数模板类里定义成员模板函数以模板参数作为一种设计策略讲的什么呢,就是将某种特定的命名规范强加于被当作参数的类身上:每个类都必须提供某模板类中调用到的函数。这样的独特设计很高级,说明模板类的类型参数不光可用以传递元素类型,还可以传递class类型。举个例子:template<typename num_seq>class NumericSequence{public: NumericSequence(int len=1,i

2020-06-02 20:24:26 220

原创 Essential C++学习记录&笔记整理41(一个以模板函数完成的输出运算符、常量表达式与默认参数值)

目录一个以模板函数完成的输出(<<)运算符常量表达式与默认参数值模板参数默认值全局作用域内的函数及对象用于模板类一个以模板函数完成的输出(<<)运算符非模板函数形式的重载运算符函数是这样(声明)ostream& operator<<(ostream&,const BinaryTree<int>&);而模板函数形式的重载运算符函数是这样(定义)template <typename elemType>inline

2020-06-02 19:42:11 278

原创 Essential C++学习记录&笔记整理40(实现一个模板类)

关于new表达式new表达式可分解为两个操作:①向程序的空闲空间请求内存,若分配到足够空间,则返回指针,指向新对象;若未分配到足够空间,则抛出异常bad_alloc(异常处理)②如果new 类型名(初值),则该新对象被初始化。举个class类型的例子:_root = new BTnode<elemType>(elem);其中elem被传入BTnode模板类的类构造函数。分配内存失败,初始化操作(类构造函数操作)不会发生。模板类成员函数的定义/声明实战:举几个例子吧,主要为了

2020-06-02 17:35:03 207

原创 锻练编程思维——每日一题:《剑指offer》斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39题目给出的代码框架:class Solution {public: int Fibonacci(int n) { }};题目分析不可用递归算法,时间复杂度O(2的n次方)非常大,不会通过的非递归算法(循环算法最简单),思路如下斐波那契数列求值采用自底向上(循环)的方式,已知前两项的值(a做+的右侧值,b做+的左侧值,继而1+1=

2020-06-02 15:48:30 194

原创 锻练编程思维——每日一题:《剑指offer》链表中环的入口结点

题目描述题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。题目给出的代码框架/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* EntryNodeOfLoop(ListNode* pHead)

2020-06-01 20:26:00 141

原创 Essential C++学习记录&笔记整理39(被参数化的类型,模板类(类模板)的定义,模板类型的参数处理)

终于tm的有时间看C++啦!断更了几天,终于开始向前探索了!到了第六章,加油,奥里给!目录前言被参数化的类型模板类的定义模板类型参数的处理前言Template(模板)能根据用户指定的特定值或特定类型,自动产生一个函数或类。被参数化的类型为什么要有模板呢,举一个类的例子:(假设已想好要定义BTnode类,用以存储结点数值,和左右孩子指针)class string_BTnode{public: //...private: string _val; int _cnt; string_B

2020-05-31 16:53:02 367

原创 锻练编程思维——每日一题:《剑指offer》字符流中第一个不重复的字符

题目描述题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。题目给出的代码框架:class Solution{public: //Insert one char from stringstream void Insert(char ch) {

2020-05-31 13:48:15 254

原创 锻练编程思维——每日一题:《剑指offer》表示数值的字符串

昨天光tm做实验了,写了一堆实验报告,今天上午也是。所以昨天没写oj题。没写就没写吧(那我不能穿越回昨天233),今天得写了,还是尽量一天一道,循序渐进目录题目描述题目分析题解代码小结题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。题目给的代码框架:class Solution {publi

2020-05-30 15:22:20 276

原创 锻练编程思维——每日一题:《剑指offer》数组中重复的数字

题目描述题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。很经典的一道题,但是想出一个很好的题解却很难。...

2020-05-28 17:31:38 227

原创 锻练编程思维——每日一题:《剑指offer》用两个栈实现队列

今天的每日一题还算简单,虽然我看了看题解。(因为我又想的有所偏差了/(ㄒoㄒ)/~~)私有成员给的居然是stack容器,有点懵,好在我摸索着用这个东西,还是能迅速上手的因为它本质就是个栈。目录题目分析题目分析题解代码题目分析题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。需要借助题目给出的代码进行分析class Solution{public: void push(int node) { } int

2020-05-27 13:50:44 230

原创 单片机应用技术的学习(DA转换器(PWM输出))

#include"reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16;typedef unsigned char u8;//对数据类型进行声明定义↑sbit PWM=P2^1;//定义输出PWM波形所用到的IO口sbit beep=P1^5;bit DIR;//bit和int char之类的差不多,只不过char=8位, bit="1位而已"。//都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。//这个

2020-05-27 12:02:02 932 1

原创 锻练编程思维——每日一题:《剑指offer》跳台阶

目录题目描述题目解析所以用到的算法:递归。题解代码题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。题目解析思路:自上而下的倒推分析法(分治法)首先根据题目得知青蛙想要跳上n级台阶,他得先上1级或2级,然后3级或4级,当然这么想你屁也想不出来。n=1、2、…、5还好,要是n>5了,情况太多了,数跳法数一辈子吗?所以我们不如以自上而下来数跳法,这种方法在以后很多算法题至关重要,一定要具备这种分治法思维。具体是这样

2020-05-26 20:06:08 253

原创 EssentialC++第五章总结+课后习题+踩雷清单

目录总结习题5.15.2报错信息学习(新的一批,包括代码顺序位置问题)关于reverse_iterator(逆向迭代器)的学习关于奇怪的代码学习总结这章开始介绍了面向对象编程概念,最主要特质:继承和多态继承我们知道了父类和子类,即基类和派生类,这两个类之间的关系叫继承体系多态:动态绑定然后介绍了继承体系,LibMat类,Book类和AudioBook类的三层类继承体系介绍不带继承的多态(类之间的继承关系不大)如何定义抽象基类,三要素(三步法)如何定义派生类,很多要求定义完了抽象基类和派生类

2020-05-26 12:21:32 1460

原创 锻练编程思维——每日一题:《剑指offer》构建乘积数组

目录审题思路拆解:审题题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)提炼信息:①给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1]②B中的元素B[i]=A[0]*A[

2020-05-25 16:41:48 222

原创 数据结构与算法学习笔记(第五章 树与二叉树)(1)树

目录树定义:应用于计算机领域表示方式一堆术语孩子双亲祖先子孙兄弟堂兄弟根结点结点的度树的度结点的层树的深度分支结点叶子节点有序树、无序树森林树的结构注意!树定义:n个结点的有限集n=0,树是空树n>0有且仅有一个处于顶端的结点我们把它称作根结点其余结点分为m个互不相交的有限集T1,T2,T3…,TM每个集合本身又是一棵树,称为根结点的子树树的定义是递归的定义应用于计算机领域编译数据库系统算法分析表示方式倒树表示(最常见)

2020-05-24 12:08:11 232

原创 Essential C++学习记录&笔记整理38(运行时的鉴定机制)

这一节说了点新东西。目录运行时类型鉴定机制(RTTI)typeid运算符type_info类static_cast运算符dynamic_cast运算符运行时类型鉴定机制(RTTI)typeid运算符这是运行时类型鉴定机制得一部分,由程序语言支持。typeid运算符让我们得以查询多态化的类指针/引用,来获得类指针/引用所指对象的实际类型。用法举例:#include<typeinfo>inline const char* num_sequence::what_am_i()const

2020-05-23 20:51:23 383

原创 Essential C++学习记录&笔记整理37(在派生类中定义一个虚函数)

目录关于派生类和派生类提及虚函数的一些小细节虚函数的静态解析关于基类指针和引用的一些说明关于派生类和派生类提及虚函数的一些小细节在派生类中,如果其基类的同名成员函数已声明为虚函数(函数声明开头加了virtual),则派生类的同名成员函数声明/定义前不用加virtual也就是说,当我们在派生类中,为了覆盖基类的某个虚函数而进行同名函数的声明时,可以不加关键字virtual,编译器会根据两个同名函数的原型声明,自动决定派生类的某个同名函数是否会覆盖其基类中的同名函数定义派生类,要么覆盖基类的虚函数,要

2020-05-23 16:59:10 540

原创 随笔:体悟到的C++知识

关于引用和指针指针有弹性,灵活,让它指向哪个和指针同类型的对象都可以;引用(仅说明&)必须绑死在某个对象就想到这一个,其他的再说

2020-05-23 10:34:50 175

原创 Essential C++学习记录&笔记整理36(运用继承体系,基类应该多么抽象,初始化、析构、复制)

目录运用继承体系基类应该多么抽象每个派生类的共同操作应该再抽离出来给基类类定义里。指针和引用的复习初始化、析构、复制关于派生类对象的子对象派生类对象的子对象的各自构造函数调用机制派生类对象子对象的各自拷贝构造函数和拷贝赋值运算符调用机制运用继承体系这一节没什么要说的,有一点就是基类和其派生类构成一个两层的继承体系。基类应该多么抽象每个派生类的共同操作应该再抽离出来给基类类定义里。之前咱们设计的抽象基类提供的仅仅只有接口(一堆纯虚函数,和等被派生类继承的基类成员函数的声明/定义),并未有任何实

2020-05-22 17:53:56 177

原创 Essential C++学习记录&笔记整理35(定义一个派生类)

派生类说明:派生类由两部分构成:①基类构成的子对象(由基类的非静态数据成员(如果有)组成。②派生类的部分(派生类的非静态数据成员)组成。

2020-05-20 16:55:16 258

原创 Essential C++学习记录&笔记整理34(不带继承的多态,定义一个抽象基类)

一步步深入进面向对象编程风格去。目录不带继承的多态定义一个抽象基类定义抽象基类第一步定义抽象基类第二步定义抽象基类第三步纯虚函数其他说明完整抽象基类的定义不带继承的多态5.3节我看了三遍,也没看出他讲了什么东西,反正diss一遍自己写的代码。我矮子里拔将军,找出了这些知识点来给大家讲述。static_cast是一个特殊的转换记号,可将整型变量转换为对应的枚举型变量。(如可用于检验某整数是不是代表某一有效数列)用法举例:class num_sequence{public: //... st

2020-05-18 22:07:08 417 1

原创 Essential C++学习记录&笔记整理33(虚函数,protected,基类派生类构造函数析构函数调用关系)

这一节涉及到虚函数的知识。什么叫虚函数?默认情形下,成员函数的解析都是编译时静态进行。如果要让成员函数的解析在程序运行时动态进行,咋办啊?就在成员函数的声明前加上关键字virtual,举个例子:class LibMat{public: LibMat() { cout<<"LibMat::LibMat() default constructor!\m"; //LibMat类的默认构造构造函数 } virtual ~LibMat() { cout<<"L

2020-05-17 22:38:58 317

空空如也

空空如也

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

TA关注的人

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