![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日记
文章平均质量分 73
乐十九
这个作者很懒,什么都没留下…
展开
-
二叉搜索树
初识二叉搜索树原创 2022-08-31 15:15:07 · 209 阅读 · 0 评论 -
二叉树的创建以及遍历
**二叉树的存储方式有两种,一种是以链表的方式进行存储,一种是以数组的方式进行存储*当以数组的方式进行存储的时候,要注意节点之间的关系,假设根节点的位置为POS那么左子树的位置就是*2*POS+1,右子树的位置就是2*POS+2。正是由于这层关系,当二叉树不是满二叉树的时候,使用数组进行存储*是非常的浪费空间的,空间的利用率较低。*当以链表的方式存储二叉树的时候,每一个二叉树节点都含有一个左孩子指针和一个右孩子指针,两个指针分别*指向相应的节点,节省空间,并且更容易使用。*/...原创 2022-07-21 17:42:44 · 2250 阅读 · 0 评论 -
使用两个栈实现一个队列
其中4是先入栈的,我们要想使得这两个栈完成队列的功能,那么就需要让4先出栈,显然如果我们只有一个栈是不可能完成这个目的的。但是我们还有另外一个空栈可以使用,我们可以将stack1中的数据先出栈在将出栈的数据同时入到stack2中,这样再从stack2中依次出栈就可以达到队列的效果了。我们要实现一个栈的类,除了要实现插入、删除和取得栈顶元素之外,还要完成获取栈中最小值的功能,并使得min函数的时间复杂度为O(1)。经过分析我们可以看出,机器人想要到达某一点,其能走的路径只有左边和上边。...原创 2022-07-20 17:11:56 · 4836 阅读 · 0 评论 -
Linux命令
第一部分:命令man//查看帮助手册//1.文件操作命令touch//创建文本文件ls//查看当前目录下的文件mkdir//创建目录文件rmdir//删除空目录文件,不能删除非空目录,删除非空目录要加 -rcp//拷贝文件 cp a.c b.c=>将a.c拷贝到b.c中rm//删除命令 删除目录文件要加参数 -r rm -r tmpmv//剪切或者移动文件,重命名chmod//改变文件权限 u属主 g同组用户 o其他用户;权限:r读权限(4),w写权限(2),x执行权限(1),-原创 2022-05-18 20:23:35 · 125 阅读 · 0 评论 -
封装的思想
首先一点,什么是封装?将一个事物的数据和操作这些数据的方法放到一个类当中,这就是实现了一次封装。封装是保证软件部件具有优良的模块性的基础,封装是为了实现软件内部部件的“高内聚,低耦合”,防止程序相互依赖带来的影响。把握一个原则:把对同一事物操作的方法和相关方法放到同一个类中,把方法和他操作的数据放到同一个类中。面向对象的封装就是把描述一个对象的属性和行为的代码封装到一个类当中,属性用变量表示,行为用方法表示,方法可以直接访问同一个对象内的属性。封装的好处1.减少重复代码,减少出错几率如果在一段原创 2022-05-18 20:08:29 · 416 阅读 · 0 评论 -
面向对象思想
面向对象思想写在开头的话OOP思想面向对象的第一步:抽象对象面向对象要明确的几点面向对象的三大特性:封装、继承、多态封装继承多态写在开头的话把一组数据结构和处理它们的方法组成对象,把相同行为的对象归纳为类,通过类的封装隐藏对象的内部实现细节,通过继承实现类的特化/泛化,通过多态实现基于对象类型的动态分派OOP思想OOP是一种思想,既面向对象对象编程,将数据和行为进行封装并看作对象对象进行操作。面向对象的核心是一种思想,抽象的得思想,是解决实际问题时需要的一种思考方式。面向对象的第一步:抽象当我们原创 2022-05-17 22:05:52 · 86 阅读 · 0 评论 -
知识总结1
1。C++多态的实现方式,虚函数的底层实现细节答:首先我们应该知道什么时多态,多态就是同一种事物的不同表现,比如动物行走这一功能,不同的动物行走的方式是不同的,鸡是两只脚走,都是四只脚走,这就是多态的一种表现。放在C++ 中来说,多态的表现形式就是:用同一个函数名实现不同的函数工能,即:“一个接口,多种实现”。C++的多态是依靠虚函数来实现的,多态的构成条件:基类中必须要有虚函数,且子类对基类的虚函数进行重写;通过基类对象的指针或者引用调用函数。class person{public:vir原创 2022-05-10 15:35:34 · 68 阅读 · 0 评论 -
shell 脚本编程
shell编程(脚本编程)#!/usr/bin/bashecho "hello"exit 0 为脚本文件更改权限之后,加上执行权限,就可以当做可执行文件来执行,但是区别于.exe文件C/C++ 编译型:xxx.c 编译生成二进制可执行程序,直接运行可执行程序(运行效率高,开发效率低)shell 解释型:需要解释器,通过解释器解释执行(开发效率高,运行效率低)当对性能不作要求的时候,我们使用解释型语言会更加高效写的是一个脚本文件,但是运行的是一个解释器,通过解释器来解释脚原创 2022-03-09 09:43:34 · 1333 阅读 · 2 评论 -
顺序表的增、删、改、查的实现
如何编程需求分析:明确我们要处理什么问题(要完成什么功能)。确定我们处理问题所需要的资源。算法设计:根据所需要的功能和我们所需要的资源,理清思路,排列出完成此功能的具体步骤。每一个步骤都应该是简单的确定的编写程序:根据前期设计好的步骤,编写复合C语言规则的程序。检查程序,没有错误了就编译和链接程序。检测数据,测试程序是否符合要求。可增容顺序表的代码实现(及其增删改查操作)#include<stdio.h>#include<stdlib.h>#include<原创 2021-11-13 10:01:03 · 608 阅读 · 0 评论 -
虚函数与多态
这里写自定义目录标题重载、重写(覆盖)、隐藏虚函数父类指针指向子类对象,究竟指向子类对象的哪里?啥是多态?动多态的产生条件动多态的过程vftable在什么时候产生?在哪里存储?构造函数能不能写成虚函数静态函数能不能写成虚函数析构函数能不能写成虚函数虚函数能不能被处理成内联函数什么情况下析构函数必须写成虚函数父类指针能不能指向子类对象?子类指针能不能指向父类对象?父子类/组合类的构造顺序类的编译顺序什么是RTTI,RTTI什么时候产生?RTTI信息储存在哪里?父类指针如何转换为子类指针重载、重写(覆盖)、隐原创 2021-11-11 21:19:04 · 128 阅读 · 0 评论 -
C语言面试
结构体对齐的规则1、结构类型的总大小必须是结构体中“最大成员变量类型大小”的整数倍。2、结构体成员相对于首地址的偏移量必须是其类型大小的整数倍。3、结构体的首地址的偏移量必须是结构体最大成员类型大小的整数倍。实现一个宏,确定结构体成员的偏移量。typeof 的作用是获取修饰变量的数据类型,例如:int val=0;typeof(val)的作用就是获取val的数据类型。(data_type)0的作用是将0 转换为data_type类型的指针。这里我们使用(typeof(data) *)0-原创 2021-10-26 20:42:49 · 222 阅读 · 0 评论