- 博客(34)
- 收藏
- 关注
原创 二叉搜索树
⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树就是:左节点的值的值大于根如图:这里,因为。。。//二叉搜索树BinarySearchTree //简称BSTree//搜索二叉树SearchBinaryTree //简称XXTree(懂得都懂)
2025-03-10 20:48:23
1564
78
原创 c++的多态
多态是⼀个继承关系的下的类对象,去调⽤同⼀函数,产⽣了不同的⾏为比如学生买火车票,是学生票,普通人买票就是普通票条件:必须是基类的指针或者引⽤调⽤虚函数被调⽤的函数必须是虚函数,并且完成了虚函数重写/覆盖。
2025-03-03 22:24:31
2090
85
原创 c++的继承
继承是使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称派⽣类假如我们需要使用两个类,Student类和Teacher类,Student和Teacher都有姓名、电话、年龄这样的共同属性,但是有也有不同的部分,如:Student需要有学习函数study(),Teacher需要授课函数teaching()。这两个类分别独立实现,有很多重复的代码,有没有办法不重复定义这些公共的部分,让代码变得简洁、高效?有,可以。
2025-02-25 21:23:27
1750
59
原创 c++容器适配器
优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中 元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用 priority_queue。C++中的容器适配器是特定类型的容器,它们提供了一些容器的功能,但其底层实现是基于其他标准容器(如。// 如果_min栈顶的元素等于出栈的元素,_min顶的元素要移除。优先队列是根据元素的优先级来排列的队列,对应数据结构中的堆(Heap)//保存栈中的最小值。
2025-02-15 21:56:05
1289
55
原创 STL中的List
List即链表常见的链表有多种形式,以为区分,共有8种不带头不循环不带头循环不带头不循环不带头循环带头不循环带头循环带头不循环带头循环而STL中的list就是。
2025-01-16 17:27:40
1912
45
原创 vector
(costructor)构造函数声明接口说明vector()(重点)无参构造构造并初始化n个val(重点)拷贝构造使用迭代器进行初始化构造代码示例:#include<vector> //使用vector需要包含此头文件//对于初学者而言建议使用此头文件,减少了空间域的展开代码int main()//创建了一个int类型的10个元素的数组arr1,未进行初始化//创建了一个int类型的5个元素的数组arr2,所有元素均初始化为5//使用arr2拷贝构造了arr3。
2024-12-10 16:47:55
1360
46
原创 c++:模板
class 类模板名// 类内成员定义例如下面这个例子:// 类模版public:_size = 0;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误// 扩容++_size;
2024-11-18 14:42:02
2027
45
原创 c/c++内存管理
int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;
2024-11-16 23:20:06
1528
36
原创 类和对象(3)
1.⽆论是否显⽰写初始化列表,每个构造函数都有初始化列表2.⽆论是否在初始化列表显⽰初始化,每个成员变量都要⾛初始化列表初始化。
2024-11-11 23:38:42
1155
28
原创 类和对象(2)
默认成员函数就是⽤⼾没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不重要,我们稍微了解⼀下即可。其次就是C++11以后还会增加两个默认成员函数, 移动构造和移动赋值。
2024-10-27 23:26:46
746
46
原创 数据结构—排序
在数据结构中,排序是一种将数据元素重新排列的过程,通常是为了使它们按照特定的顺序(如升序或降序)组织起来。排序在计算机科学中非常重要,下面是一些常见的数据结构排序方法和它们的特点。
2024-10-03 23:25:47
1458
45
原创 数据结构:二叉树
树是一种非线性数据结构,用于表示层次关系。树由节点组成,每个节点包含一个值和指向其子节点的指针。树的特点是每个节点只能有一个父节点,但可以有多个子节点。
2024-09-21 23:16:56
1508
26
原创 简单的数据结构:栈
栈是一种线性表,只能在一端进行数据的插入或删除,可以用或来实现,:数据出入的那一端,通常用Top表示相对于的另一端,也是固定的一端,不允许数据的插入和删除:不含数据的栈。
2024-07-27 17:26:52
1399
98
原创 结构体(C语言)
什么是自定义类型?C语言中有一些自带的数据类型,比如说char,int,float,double,long等数据类型就是C语言的内置类型在生活中,要描述一件东西,往往有很多的参数 ,只是靠内置类型就显得数据零散,或者说不太够用,所以C语言除了内置类型之外又有了自定义类型结构体联合体便是自定义类型。
2024-04-14 19:25:36
1154
28
原创 C语言字符、字符串及内存函数
在c语言中,字符可以是电脑上可以显示的各种符号:字母、数字、中文;也包含一些无法显示的符号 :换行符、回车符等等。
2024-04-03 23:35:32
720
16
原创 理解C语言指针
pa本是一个指针,解引用一次,*pa相当于就是a,而a = 1,最后打印的就是1,同理,变量b,指针pb;此前在学习scanf函数的时候就见到过&,叫做取地址,,取变量的地址,*是解引用,与&的关系密切,意为获取地址关联的变量,&和*有一点点 相反功能 的意味。并没有交换,因为,这里采用的是传值调用,传的是形式参数,形式参数只是实际参数的一份零时拷贝文件,改变形式参数,并不影响实际参数的值,所以变量的值没有发生交换。2.NULL 是C语⾔中定义的⼀个标识符常量,值是0,0也是地址,这个地址是⽆法使⽤的,
2024-03-31 18:37:26
820
10
原创 C语言的分支和循环(1)
C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实 现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种 结构的组合。例如我们可以使⽤ ,使⽤实现分⽀结构实现循环结构。
2024-03-14 21:30:58
924
7
原创 c语言的数据类型和变量(2)
这是因为 score / 20 是整除,会得到⼀个整数值 0 ,所以乘以 100 后得到的也是 0 ,为了得到预想的结果,可以将除数 20 改成 20.0 ,让整除变成浮点数除法。注:操作符也被叫做:运算符,是不同的翻译,意思是⼀样的。上面示例中,尽管变量 x 的类型是 float (浮点数),但是 6 / 4 得到的结果是 1.0 ,⽽不是 1.5。+ 和 - 都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫双⽬操作符。除号的两端如果是整数,执⾏的是整数除法,得到的结果也是整数。
2024-03-13 22:38:46
866
6
原创 C语言的数据类型和变量(1)
C语言提供了多种数据类型,用于存储不同类型的数据。如:整形浮点型字符型布尔类型,void类型等。上图片:简单的说,整形用来描述整数;浮点型用来描述小数;字符型描述字符;布尔类型描述真假;等等。
2024-03-03 22:17:48
894
3
原创 【梦开始的地方】
所在大学第一年并未开设编程性语言的课程,我对此非常失望,只能依靠网上课程的学习,及课后作业尝试学习C语言。本人18岁,刚进入大学,此前接触计算机甚少,对于计算机可谓一窍不通,写下这篇博客标志我开始学习C语言。对计算机的了解不多,更何况C语言,因此我打算每星期用至少10个小时的时间去学习C语言。小目标是用自己用C语言敲出贪吃蛇游戏,以及在一年内大致学懂C语言。谈及IT公司,暂时没有目标。
2023-11-20 18:05:36
84
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人