- 博客(96)
- 收藏
- 关注
原创 详解C指针+小型计算器项目
指针1. 字符指针2. 数组指针3. 指针数组4.数组传参和指针传参5. 函数指针6. 函数指针数组7. 指向函数指针数组的指针8. 回调函数
2022-03-14 15:12:40 11950 67
原创 如何找大量的技术电子书籍
大家可能都有过找电子书的想法,我们在网上查找的时候,大部分情况都是让我们关注公众号,然后给我们发一个某某网盘的包最恶心的是我们还要自己解压。下面本博主教你去网站去之间下载你所需要的书籍。
2023-04-27 11:26:46 213 4
原创 Linux进程
我们从实现的角度来看:进程是一种数据结构,用描述程序运行的状态和系统变化的状态。我们说的地址空间是逻辑地址空间(虚拟地址空间),并不是物理上的地址空间。逻辑空间和物理内存空间是通过页表进行映射的。通过特定的接口,把磁盘上的程序完全替换到该进程中。比如:用fork创建了一个子进程,子进程完全执行另一个程序。这就是替换。把进程替换成另一个进程。这样的接口有好几个先讲解一下execl是怎么用的,execl:path是那个程序的路径,arg为程序名,
2023-01-25 17:50:43 1211 1
原创 平衡二叉树
T _val;int _bf;//平衡因子 AVLNode < T > * _left;} };这里的平衡因子是右树减左树的高度差。当我们把一个节点插入到平衡二叉树中的时候,就有可能打破原有的平衡,这时候我们就需要调整该树,使它继续保持平衡二叉树的特性。
2023-01-02 12:57:52 620 3
原创 map,set理解应用
这一题和上面的那一题几乎一模一样,主要注意的是这道题目要分割字符串,把每个单词分割出来,还有就是要注意把小写改成大写——用的。里面的数据再插入到优先级队列中,但是我们要重新实现它的比较方法,最后取前k个数据就可以了。中,要把键和值互换一下,因为题目要求的是按照单词出现次数的多少进行排序,而。不知道的小伙伴可以自行去找资料,我也是找资料写出的。统计好单词的个数,这是字典顺序排好序的,接下来把。进行储存单词和统计单词的个数,然后把。是允许出现键是重复的。
2022-12-23 12:13:41 70 2
原创 二叉树进阶
根据二叉树创建字符串二叉树的层序遍历二叉树的最近公共祖先二叉搜索树与双向链表从前序与中序遍历序列构造二叉树从中序与后序遍历序列构造二叉树
2022-12-17 18:34:35 853 10
原创 C++多态
什么是多态多态的定义及实现虚函数的重写为什么对析构函数进行重写呢?C++11中的 `override`和`final`抽象类接口继承和实现继承多态实现的原理虚函数表实现多态后,派生类中的虚函数表动态绑定,静态绑定单继承虚函数表多继承虚函数表面试常见的问题
2022-11-28 09:00:00 447 11
原创 C++继承
什么是继承?不同继承方式的访问限定派生类给基类赋值继承中的作用域派生类中的默认成员函数构造函数拷贝构造,赋值运算符重载析构函数继承与友元继承与静态成员菱形继承与菱形虚拟继承菱形继承代码验证测试二义性冗余菱形虚拟继承继承与组合
2022-11-21 17:58:53 720 7
原创 线性动态规划
f[i][j]有这么几种分法:str1[i]==str2[j],那么f[i][j]=f[i-1][j-1]+1。问题解决:f[i][j]表示字符串1(str1)以i结尾,字符串2(str2)以j结尾的最大子串。我们知道动态规划类题目都会用到上一次的结果,那么f[i][j]怎么用上一层计算的结果来计算呢?f[i][j]表示从开始的位置到i,j位置的路径之和的最大值。因为f[i][j]是要求的那个,所以我们要求出它的状态方程。问题解决:f[i]表示以第i个数结尾的子序列的最大值。ok,现在开始我们做这道题。
2022-11-19 17:06:04 1099 8
原创 stack,queue,priority_queue的模拟实现,适配器deque
在我们模拟实现stack,queue的时候,我们会用deque作为默认的适配器那么deque的底层是什么呢?可以说是一个指针数组,当然该数组是动态的,它有一个中控指针,中控指针指向首元素的所在的那一行buffer数组,对于改数据结构,我们支持随机访问,如果有频繁的头插(删)和尾插(删),选择该结构还是不错的。
2022-11-17 22:05:46 310
原创 vector的模拟实现
vector就是一个顺序表而已,只不过它是类模板,可以实例化出不同的模板类。下面我们通过模拟实现来进一步的熟悉vector。
2022-11-17 20:16:02 283
原创 反向迭代器
我们在实现正向迭代器的时候,它的++是下一个元素,–为上一个元素。对于反向迭代器它就是相反的,++为上一个元素,–为下一个元素。反向迭代器的头为为正向迭代器的尾,正向迭代器的尾为反向迭代器的头,所以我们设计反向迭代器的时候在访问里面数据的时候,因为反向迭代器的头为尾,里面不是有效数据,这样设置的目的是为了和正向迭代器保持对称。反向迭代器是复用了正向迭代器。
2022-11-17 19:48:40 139
原创 vector刷题lc
118.杨辉三角思路代码26.删除有序数组中的重复项思路代码JZ39数组中出现次数超过一半的数字思路代码137.只出现一次的数字II思路代码136.只出现一次的数字思路代码260.只出现一次的数字III思路代码17.电话号码的字母组合思路代码
2022-10-15 23:04:15 383 7
原创 string刷题lc
把字符串转换成整数思路代码415.字符串相加思路代码344.反转字符串思路代码387.字符串中的第一个唯一字符思路代码HJ1字符串最后一个单词的长度思路代码125.验证回文串思路代码541.反转字符串II思路代码557.反转字符串中的单词III思路代码43.字符串相乘思路代码
2022-10-09 12:28:11 306 13
原创 巩固类和对象的知识点——牛客5道题目
学习了c++之后,我们知道每次进行对象实例化的时候,都会调用构造函数,我们利用这个特性。在实现一个类,类的成员为静态的(因为要求和,要保留上一次的构造)。根据前一个月的累计天数加上该月的天数即为这一年的第几天。当该日期大于该年月的日期,就需要减掉该年月的日常,同时月数加1,如果月数等于13,则修改成1,且年数加1。这个的日常差值,我用的是每天每天进行累计的。从题目的要求中可以看出,不能使用循环,分支语句,也不能使用位运算符,不能使用递归。对于加的日期我们需要进行调整,使它变成正常的日期。
2022-09-21 17:29:21 595 10
原创 类和对象下
(特别是类中没有默认的构造函数)的时候。单靠在构造函数内部实现是不可能完成的。而初始化列表就可以解决这些问题。它的形式是在函数后面加上。
2022-09-13 22:44:44 263 11
原创 类和对象——默认成员函数
当没有自己写构造函数的时候,会调用默认的构造函数,默认的构造函数只对自定义类型进行处理(调用它的构造函数),对内置类型不做处理。析构函数可以自己写,当没有自己实现的时候会调用默认析构函数,默认析构函数对内置类型不做处理,对自定义类型会调用它的析构函数。如果没有自己写拷贝构造函数,会调用默认构造函数,默认构造函数对内置类型进行值拷贝,对自定义类型会调用它的拷贝构造函数。即使没有显式实现赋值运算符重载,也会生成默认的,其和拷贝构造一样,内置类型值拷贝,自定义类型调用它的赋值重载。析构函数是释放类成员的资源。..
2022-08-12 21:13:49 682 16
原创 Linux下的一些工具
makefile自动化的进行程序的编译链接,make会在当前文件中查找makefile或者Makefile。执行make,默认只执行makefile里面的第一个依赖关系。生成调试信息,下面让我们开始进行调试的一点简单的方法。,默认为动态链接,可以手动让他动态静态链接。从行号处开始列,每次列10行。形成的是伪目标,总是可以执行的。运行到下一个断点处停下来。g++的使用和gcc一样。gdb会记下上一次的命令。,需要是root权限。,需要是root权限。运行,遇到断点停止。display变量。...
2022-07-30 13:24:05 387 7
原创 类和对象——上
看下面这个代码;intage;};class就是类的关键字。people就是这个类的名字,{}为类的主体,里面有成员,变量叫做成员变量,函数叫做成员函数。c语言中的struct也可以作为类的关键字。只不过在c++中最好使用c++的class写法。};类的定义有两种形式一种是成员函数的声明和定义都在类的里面。另一种是类的里面是成员函数的声明,在另一个文件中实现类的定义。......
2022-07-28 22:25:48 373 9
原创 vim学习手册
编写完成后,按Esc键(在键盘的左上角)进入命令模式。如果想退出,按Shift加进入底行模式,然后按wq进行保存退出。命名模式可以移动光标,进行复制,粘贴之类的命令操作。X(Shiftx)删除光标前一个位置的字符。h,j,k,l左,下,上,右移动光标。Shiftr替换模式,直接覆盖原来的。nShiftg文件的第n行的开始。yy复制,nyy从当前行到n行复制。dd剪贴,ndd从当前行到n行剪贴。底行模式在底行中进行相应的操作。b,w以单词的形式,前后移动。...
2022-07-27 12:41:09 1058 9
原创 Linux权限
目录的起始权限为777,普通文件的其实权限是666。那么,从上面的结果显示,最终的权限是起始权限减umask的结果吗?(此时的1,0为二进制的)我们知道,不同的用户在同一个工作目录下可以删除别人创建的目录或者文件。从下面的图片中可以看出,在自己的工作目录下可以删除别人的文件。显示该目录的内容的时候。加上粘滞位之后,就不可以删除别人的文件了。此时新创建的hh文件就和原来的不一样了。拥有者这个文件或者目录是谁的。第一组的3个是拥有者的权限。第二组的3个是所属组的权限。第三组的3个是其他人的权限。...
2022-07-26 16:20:20 459 9
原创 Linux基本命令
Linux基本命令lspwdcd路径touchstatmkdirrmdirrmmancpmvcat重定向echomorelessheadtailfindgrepzip/unziptarunamewhilewhereisLinux基本命令
2022-07-18 11:51:53 301 10
原创 刷题——笔记2
NC31第一个只出现一次的字符解题思路代码面试题01.01.判定字符是否唯一解题思路代码349.两个数组的交集解题思路代码724.寻找数组的中心下标解题思路代码
2022-07-15 15:13:39 234 5
原创 解决Typora笔记上的图片复制到CSDN上不能显示的问题
网址https://sm.ms/登录之后点击这里:然后生成私密令牌网址我下载的是2.3版本的安装好之后:然后:在图床设置里面找到SM.MS,把刚才的私密令牌填进去。点击文件,偏好设置最后进行下面这样设置。...
2022-07-10 17:28:08 435 15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人