![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 70
FreedanyTsui
这个作者很懒,什么都没留下…
展开
-
二叉平衡树和红黑树的代码实现(红黑树以后补充,目前代码也没怎么明白)
右单旋左单旋右左双旋——先右旋再左旋原创 2024-03-17 14:34:56 · 383 阅读 · 2 评论 -
C++搜索二叉树的实现
【代码】C++搜索二叉树的实现。原创 2024-03-05 09:54:17 · 598 阅读 · 0 评论 -
C++的继承和多态
菱形继承是一种多继承的特殊情况,它涉及四个类形成一个菱形结构。在菱形继承中,存在一个基类,两个派生类继承这个基类,然后另一个类同时继承这两个派生类。这种继承方式在类的层次结构图中看起来像一个菱形,因此得名。菱形继承的主要问题是数据冗余和二义性。由于最底层的派生类继承了两个基类,而这两个基类又继承了同一个基类,所以会造成最顶部基类的两次调用。这会导致相同数据的重复存储,即冗余性。更重要的是,当访问某个继承自基类的属性或方法时,会产生歧义,因为不清楚应该访问哪个派生类中的版本,这就是所谓的二义性。原创 2024-02-29 12:02:36 · 1001 阅读 · 0 评论 -
C++中priority_queue的实现
在定义类的时候 用class和struct都是可以的 这两个就是默认的访问权限不一样 class的默认访问权限是private struct的默认访问权限是public。另外在模板参数列表中 template 中只能用class 或者 typename 不能用struct。不过定义类在C++中 一般优先使用class 在定义类似于二叉树节点这种结构的时候 用struct居多。有了这个参数以后,可以自己设计Compare的比较方式。原创 2024-02-03 11:11:33 · 354 阅读 · 0 评论 -
STL中List的底层实现
另外,使用引用时可以直接使用对象的成员访问符".“来访问成员,而使用指针时需要使用解引用操作符”*"来访问对象的成员。第二,创建list类,list包含有list_node并将list_node另成node,模板参数里面有T , T& , T* 以及T ,const T& ,const T*的迭代器和list()的默认构造,begin()和end()this是个指针,指向的当前对象的地址,*this就是对指针解引用,结果就是对象本身。叫对迭代器这个类模板实例化。原创 2024-01-29 21:32:06 · 912 阅读 · 0 评论 -
类与对象c++
类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。成员函数如果在类中定义,编译器可能会将其当成内联函数处理。// 类体:由成员函数和成员变量组成 };// 一定要注意后面的分号。原创 2023-04-01 00:05:45 · 360 阅读 · 0 评论 -
cpp入门
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。如果常量引用,就要用const修饰,否则会报错,可以说const修饰引用后就是只读权限。一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染。在g++编译后的效果。原创 2023-03-30 15:20:02 · 275 阅读 · 0 评论