- 博客(143)
- 收藏
- 关注
原创 C++(进阶) 第10章 异常
• C语⾔主要通过错误码的形式处理错误,错误码本质就是对错误信息进⾏分类编号,拿到错误码以后还要去查询错误信息,⽐较⿇烦。异常时抛出⼀个对象,这个对象可以函数更全⾯的各种信息,异常可以让我们在以后代码上去的时候和做项目的时候更好的找到错误。
2025-04-01 23:38:13
738
原创 C++(进阶) 第9章 C++ 11
C++11 是 C++ 的第⼆个主要版本,并且是从 C++98 起的最重要更新。它引⼊了⼤量更改,标准化了既有实践,并改进了对 C++ 程序员可⽤的抽象。
2025-03-24 03:19:28
1156
原创 第7章 类与面向对象
计算并返回圆的面积pass# 计算并返回圆的周长pass# 计算并返回矩形的面积pass# 计算并返回矩形的周长passself.a = aself.b = bself.c = c# 计算并返回三角形的面积pass# 计算并返回三角形的周长pass。
2025-03-20 22:18:13
477
原创 第1章 开启Python学习之旅
编写一个程序,运行时用户输入姓氏后,输出,“您好,某同学!本题无输入,直接输出hello,china!直接输出hello,china!在这里给出相应的输出。在这里给出一组输入。
2025-02-19 16:25:35
176
原创 C++(进阶) 第8章unordered_map和unordered_set的使⽤(哈希)
unordered其实就是哈希,但是c+之前map和set取名没有弄好不像java里面一样的叫tree_map,tree_set,hash_map,hash_set其实他们就是同一个 东西只是名字不一样unordered->无序的,它和map和set功能是一样的但是底层实现不一样,中序遍历也并不是有序的提示:以下是本篇文章正文内容,下面案例可供参考哈希其实就是一种映射关系,哈希也叫散列哈希就是一种值和存储位置的映射关系,可能是1对多,也有可能是1对1准确的来说哈希是一种思想大概可以这么玩。
2025-02-01 05:35:12
1100
原创 C++(进阶) 第7章封装红⿊树实现mymap和myset
map和set其实就是在avl和红黑树外面套了层壳,其实他们俩个里面也就是这些东西,本篇博客会介绍map和set是如何封装的。
2025-01-31 19:29:36
943
原创 C++(进阶) 第6章红⿊树实现树的实现
上一篇介绍了avl树这一篇介绍avl树的兄弟红黑树也是搜索树AVL->严格平衡红黑树->近似平衡太难了!!!
2025-01-25 02:41:28
1057
原创 C++(进阶) 第5章AVL树的实现
二叉搜索树在一些极端的情况下就会出现效率非常地下的问题,这里解决这些问题俄罗斯的大佬用了一种方法解决了这种情况,AVL就是用他们的名字命名AVL的概念• AVL树是最先发明的⾃平衡⼆叉查找树,AVL是⼀颗空树,或者具备下列性质的⼆叉搜索树:它的左右⼦树都是AVL树,且左右⼦树的⾼度差的绝对值不超过1。AVL树是⼀颗⾼度平衡搜索⼆叉树,通过控制⾼度差去控制平衡。• AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis是两个前苏联的科学家,他们在1962。
2025-01-23 00:34:13
1043
原创 C++(进阶) 第4章 map和set的使⽤
上一篇博客写了二叉搜索树,这一篇博客会在上一篇博客原来的上在深入介绍我们搜索一个数通常有下面几种方式暴力查找->效率低下排序+二分查找 ->插入删除代价大,因为它底层是数组链式结构的二叉搜索树,它输入数据最多最优只需要走它的高度即可,做差也有N的时间复杂度为了稳定二叉树时间复杂度,这里引入平衡二叉树(AVL,红黑树)二叉搜索树O(N)平衡二叉树(AVL,红黑树) O( log N)多叉平衡搜索树(B树系列)哈希我们现实中模式差不多有俩种key模式 ->在不在 ,比如门禁系统。
2024-12-17 22:52:41
854
原创 C++(进阶) 第3章 二叉搜索树
之前在数据结构篇简单的介绍了二叉搜索树,本篇博客会详细的介绍⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树:• 若它的左⼦树不为空,则左⼦树上所有结点的值都⼩于等于根结点的值• 若它的右⼦树不为空,则右⼦树上所有结点的值都⼤于等于根结点的值• 它的左右⼦树也分别为⼆叉搜索树下面就是一颗比较经典的二叉搜索树搜索二叉树也叫排序二叉树,因为它走中序遍历的时候刚好就是有序的删除有点复杂还是要花时间去理解。
2024-12-15 21:50:03
1036
原创 C++(进阶) 第2章 多态
什么是多态?多态其实就是多种形态的简写这篇博客会详细的介绍多态类成员函数前⾯加virtual修饰,那么这个成员函数被称为虚函数。注意⾮成员函数不能加virtual修饰。这是构成多态的必备条件之一public:cout
2024-12-11 18:19:41
899
原创 C++(进阶) 第1章 继承
在初级篇提过面向对象的三大特性:封装继承多态,在初阶篇可以非常直观的感受到封装是什么那么继承到底是什么呢?继承(inheritance)机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称派⽣类。继承呈现了⾯向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触函数层次的复⽤,继承是类设计层次的复⽤。
2024-11-25 00:02:06
1036
原创 Lesson13(初阶)---模板进阶
之前的博客里面有介绍简单的模板,例如为什么模板声明和定义不能分离,这一篇会详细介绍一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性【缺陷】模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。
2024-11-17 03:23:00
696
原创 Lesson12(初阶)---queue
queue的文档:https://cplusplus.com/reference/queue/queue/队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。
2024-10-28 05:30:00
1016
原创 Lesson11(初阶)---stack
stack的介绍和使用stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作。
2024-10-28 01:26:31
495
原创 PTA数据库编程练习合集
本题目要求编写SQL语句,检索出表中所有符合的记录。提示:请使用SELECT语句作答。表样例表: 10-2 查询姓刘的员工信息本题目要求编写SQL语句,检索出表中姓刘的员工信息。提示:请使用SELECT语句作答。表样例表: 10-3 查询仓库号为'A01'的所有员工信息,并按照工资降序排列本题目要求编写SQL语句,检索出表中仓库号为’A01’的所有员工信息,并按照工资降序排列。提示:请使用SELECT语句作答。表样例表: 要求编写SQL语句,查询
2024-10-24 04:48:55
1896
原创 Lesson10(初阶)---list
这篇博客写了怎么使用list和怎么实现list和前面的string 和vector 的有很多重复的就不过多赘述例如:以上就是要讲的内容,本文仅仅简单介绍了list的使用和简单的模拟实现。
2024-10-21 03:53:00
1068
原创 数据库实验3视图
现有一个学生数据库,内包含学生表(Student)、课程表(Course)和选修表(SC)。在每一学年,学生处需要统计每位学生的学习情况,以便进行奖学金评定。请你设计一个视图V_average_grade,统计数据库中课程平均分在80以上的学生。提示:请使用CREATE VIEW语句作答,并请注意数据表名、列名大小写需与表结构定义一致。学生表(Student)、课程表(Course)和选修表(SC)结构如下:表样例表:表:表:视图输出: 10-2 创建视图查找不及格学生现有一个学生数据库
2024-10-15 01:06:22
2461
原创 数据库实验2-2
本题目要求编写SQL语句,在students表中,将学号为“1911203”的学生的联系电话改为“590987”。提示:请使用UPDATE语句作答。
2024-10-13 00:43:20
1233
原创 Lesson09(初阶)---vector
这篇博文详细写了vector的的介绍及使用和内容深度剖析及模拟实现vector的文档vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。
2024-10-12 01:57:43
724
原创 数据库第8章编程题2
本题目要求编写SQL语句,检索出sc表中至少选修了’C001’与’C002’课程的学生学号。提示:MSSQLServer 评测SQL语句。
2024-10-03 04:35:09
440
原创 Lesson08(初阶)---string类(3)
string里面的find成员函数就是找一个字符串如何返回第一个字符find_first_of函数看个例子就很快就能明白它返回的下标是参数的其中任意一个字符的下标通过以上操作就可以把原来的那一整个字符串替换成自己想要的字符第二个参数其实就是一个缺省参数默认从0开始查找这个函数就是从后面开始找这个是引用场景。
2024-09-12 23:08:53
522
8
原创 Lesson08(初阶)---string类(2)
assign的功能就类似于把string里面原来有的东西清空然后重新赋值但是重新赋值也可以达到一样的效果感觉没什么用,了解一下就行。
2024-09-11 01:35:00
621
原创 字符串相加
你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。,计算它们的和并同样以字符串形式返回。给定两个字符串形式的非负整数。
2024-09-08 21:52:39
297
原创 验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。"amanaplanacanalpanama" 是回文串。在移除非字母数字字符之后,s 是一个空字符串 ""。由于空字符串正着反着读都一样,所以是回文串。"raceacar" 不是回文串。字母和数字都属于字母数字字符。
2024-09-08 02:31:30
299
原创 Lesson08(初阶)---string类(1)
在OJ中,有关字符串的题目基本以string类的形式出现,而且在常规工作中,为了简单、方便、快捷,基本 都使用string类,很少有人去使用C库中的字符串操作函数。
2024-09-02 00:56:10
745
原创 Lesson06(初阶)---模板初阶
如何实现一个通用的交换函数呢?可以发现这些代码都过于冗余大部分都重复,有没有什么办法给这么多代码简化一下呢使用函数重载虽然可以实现,但是有一下几个不好的地方:1.重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数2.代码的可维护性比较低,一个出错可能所有的重载均出错那能否呢?如果在C++中,也能够存在这样一个,通过给这个模具中,来,那将会节省许多头发。巧的是前人早已将树栽好,我们只需在此乘凉。
2024-08-26 00:18:00
834
原创 Lesson05(初阶)--C/C++内存管理
为了方便管理内存被分为了以上的区域我们来看下面的一段代码和相关问题 1. 选择题: 1.C:全局变量都在静态区 2.C:3.C:用static修饰的局部变量也在静态区4.A:局部变量都在栈上 5.A1. A:char2还是一个数组它就在栈上2.A:*char2,数组名解引用结果是数组的第一个,所以还是在栈上3.A:pchar3是一个指针类型所以也是在栈上4.D:pChar它解引用是"abcd",通过解引用以后也无法对原来的数据进行修改,"abcd"本质就是代码段5.A:也是一个
2024-08-23 17:12:47
938
原创 HJ73 计算日期到天数转换
进阶:时间复杂度:O(n) O(n) ,空间复杂度:O(1) O(1)输入一行,每行空格分割,分别是年,月,日。根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。输出是这一年的第几天。
2024-08-21 16:06:23
318
原创 Lesson04(初阶)---类和对象(下篇)
上面这个代码,MyQueue的_size就去掉系统的默认构造,_pushst;所有的成员都可以在初始化列表里面初始化,也可以在函数体内初始化,但有三类必须在初始化列表里面初始化。虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量的初始化,const修饰的成员变量需要在初始化列表中初始化不能在构造函数里面初始化。因为const修饰的变量只有一次初始化的机会,初始化以后不能更改。初始化列表不管写不写每个成员都会去走一边初始化列表。const修饰的成员必须在定义的时候初始化。
2024-08-19 22:34:35
863
原创 不能使用乘除法、for、while、if、else、switch、case求1+2+3+...+n
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?进阶: 空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)数据范围: 0<n≤2000<n≤200。
2024-08-19 20:01:05
360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人