自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AVL树的insert和验证

如果在一棵原本是平衡的AVL树中插入一个新节点,可能造成不平衡,此时必须调整树的结构, 使之平衡化。AVL树就是在二叉搜索树的基础上引入了平衡因子,因此AVL树也可以看成是二叉搜索树。2. pParent的平衡因子为-2,说明pParent的左子树高,设pParent的左子树的根为pSubL。1. pParent的平衡因子为2,说明pParent的右子树高,设pParent的右子树的根为pSubR。假如以pParent为根的子树不平衡,即pParent的平衡因子为2或者-2,分以下情况考虑。

2023-12-22 01:00:00 47

原创 关联式容器的使用功能相关详解

1. set是按照一定次序存储元素的容器2. 在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。3. 在内部,set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格弱排序准则进行 排序。4. set容器通过key访问单个元素的速度通常比unordered_set容器慢,但它们允许根据顺序对 子集进行直接迭代。

2023-12-16 20:16:31 61 1

原创 多态的常见面试题

概念:在虚函数的后面写上 =0 ,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口 类),抽象类不能实例化出对象。派生类继承后也不能实例化出对象,只有重写纯虚函数,派生 类才能实例化出对象。纯虚函数规范了派生类必须重写,另外纯虚函数更体现出了接口继承。4.1虚函数表class Carpublic:public:cout << "Benz-舒适" << endl;public:cout << "BMW-操控" << endl;

2023-11-18 21:14:40 83 1

原创 二叉搜索树

通过英文可以快速找到与其对应的中文,英 文单词与其对应的中文就构成一种键值对;a、从根开始比较,查找,比根大则往右边走查找,比根小则往左边走查找。在二叉搜索树中检索该单词是否存在,存在则拼写正确,不存在则拼写错误。以词库中所有单词集合中的每个单词作为key,构建一棵二叉搜索树。b、最多查找高度次,走到到空,还没找到,这个值不存在。b. 树不空,按二叉搜索树性质查找插入位置,插入新节点。1.若它的左子树不为空,则左子树上所有节点的值都。2.若它的右子树不为空,则右子树上所有节点的值都。

2023-11-12 18:42:21 31

原创 详解gdb

首先我们先搞清楚gdb是一个工具,一个调试的工具。break(b) 行号:在某一行设置断点 break 函数名:在某个函数开头设置断点。print(p):打印表达式的值,通过表达式可以修改变量的值或者调用函数。info(或i) breakpoints:参看当前设置了哪些断点。display 变量名:跟踪查看一个变量,每次停下来都显示它的值。delete breakpoints n:删除序号为n的断点。undisplay:取消对先前设置的那些变量的跟踪。上面是一些gdb的一些命令,为了防止不会进入的人。

2023-10-07 20:11:26 61 1

原创 优先级队列的详解

1.适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总 结),该种模式是将一个类的接口转换成客户希望的另外一个接口。简单来说插头就是适配器的一种。

2023-10-06 21:09:12 73 1

原创 vector使用和实现(不是创建一个更好的而是看看它的原理)

1. vector是表示可变大小数组的序列容器。2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自 动处理。3. 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小 为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。

2023-09-11 21:15:51 35

原创 迭代器两种失效问题

这是因为我们一开始给的空间为4,当插入的数据大于4,就回发生扩容,导致了,迭代器pos指向了随机值。这就是insert内部,迭代器失效的原因。因为当你删到偶数是pos的位置将由下一个数取代,而你还要++it,将it加到了pos的下下的位置的数,这就是出现这三种情况的原因。1.现在我们来看看,vector提供的insert函数中内部的失效的具体原因。这是当调试到103行时,pos的值还是1,没问题。当需要扩容时,我们更新一下,迭代器pos就可以了。当我们有这样的需求,把下列三组数据的所有偶数都删除。

2023-09-08 21:31:53 58 1

原创 linux中的权限

前三个rwx是拥有者自己的权限,中间三个rwx所属组的权限,后三个是other的权限。w:如果是目录代表是否有权限去修改该目录下所有文件(包括删除和创建),如果是普通文件代表是否有权限修改该文本的内容。r:如果是目录代表是否有权限去查看该目录下所有文件的属性,如果的普通文本文件代表是否有权限去查看文本文件的内容。在linux中主要分为两种用户:一种是超级用户,一种是普通用户,而权限主要限制的是普通用户的一些操作。x:如果是目录代表是否有权限进入该目录,如果是一个可执行程序,则代表是否有权限执行。

2023-09-06 21:32:22 33 1

原创 位段有关知识详解

首先我们先创建int类型的空间,也就是说先创建4个字节(32byte),如果用完了这32个byte位,我们再向内存申请一个int类型的空间。当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是舍弃还是利用,这是不确定的。总结:跟结构体相比,位段可以达到同样的效果,并且可以很好的节省空间,但是有跨平台问题存在。冒号后面的数字单位是byte,意思是向创建的32个byte要2个byte,其它的类似。上面是我们假设的结果,那么我们来看看VS的编译器是不是这样求的呢。

2023-03-23 19:31:38 45

原创 字符函数和字符串函数

注意:1、字符串要以‘\0’作为结束标志,strlen函数返回的是在字符串中‘\0’前面出现的字符个数(不包含‘\0’)。注意:这个模拟实现,追加两个不同字符串的时候是可行的,不过当你自己给自己追加的时候,就会无限循环下去。注意:1、第一的字符串大于第二个字符串,则返回大于0的数字(在VS中返回1,其他编译器不一定)3、第一个字符串小于第二个字符串,则返回小于0的数字(在VS中返回-1)2、目标空间必须有足够的大,能容纳下源字符串的内容。注意:目标空间的必须足够大,这是写代码的我们必须知道的。

2023-03-19 21:43:16 49

原创 初阶结构体

结构体的声明结构体的初始化结构体的访问结构体的传参前言:这里只是简单的认识一下结构体,不做过多的深入探讨,后期我会继续更新,不过起码能让你学会结构体是怎么用的。

2023-03-09 17:36:30 28

原创 数据在内存中的储存

C语言中规定,signed int可省略signed,直接写成int,short和long有类似的规定,但值得一提的是,C语言中并没有规定char等价于signed char,二者相不相等取决于具体的编译器,但是绝大多数编译器都把char视为signed char。但是a,b,c是char类型,只能存放一个字节,所以会发生截断,高位的三个字节数据就会弃掉,a,b,c实际存放的都是。那么,S=1,M=1.01,E=2。对于64位的浮点数,最高的1位是符号位S,接着的11位是指数E,剩下的52位为有效数字M。

2023-02-24 14:36:53 37

原创 C语言扫雷

玩家在排雷时,看到的是show数组的内容,‘*’表示非雷,数字表示周边雷的个数,show数组初始化是全部放置‘*’。特点:与其他循环语句不同的是,do......while循环的执行次数1~n,也就是说该循环至少执行一次。(1)、1表示玩游戏,0表示退出游戏,如果玩家输入错误,屏幕就会打印”输入错误,请重新输入“在mine数组中,’0‘,表示非雷,’1‘表示雷。打印”排查雷,请输入坐标“,后用键盘输入数字+空格+数字,分别代表x轴和y轴。如果输入的数字不在数组的范围里,就打印”输入坐标非法,请重新输入“。

2023-02-09 13:33:50 79

原创 初识C语言

初识C

2022-12-01 23:29:34 209 1

空空如也

空空如也

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

TA关注的人

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