C++
文章平均质量分 90
lanload
这个作者很懒,什么都没留下…
展开
-
C++14:AVL树
实现AVL树的插入函数,图解旋转原创 2023-05-10 15:38:18 · 762 阅读 · 1 评论 -
C++13:搜索二叉树
我们在最开始学习二叉树的时候,最开始接触的就是堆,但那个结构上并不是真正的二叉树,后来又借助链表实现了真正的结构上的二叉树,二叉树不仅仅只是在OJ题上刁难我们,其实当实现了一定的节点逻辑之后,也可以形成效率极高的数据结构,这个二叉树就是搜索二叉树。原创 2023-04-09 11:33:09 · 561 阅读 · 0 评论 -
C++12:多态
不同的对象执行相同的动作的时候产生不一样的效果,这一点有一点像函数重载,但是不一样的是我们控制的是传入的参数,而不是不同的对象。我们其实可以将这个行为形象的理解为"双标"。以“买东西”为例,不同的人购买商品的时候可能会因为身份的不同导致付出的金钱也不相同。那么如何实现多态呢?子类实现多态时,其实现多态的函数,但是这是一种不太好的行为,我们能加上就加上。原创 2023-03-07 09:29:22 · 264 阅读 · 1 评论 -
C++11:继承
继承的这个复用功能如果去细品会发现它还是能节省不少工作流程的,我们仅需要一个主体框架,当我们需要以这个框架为基础生成更加多功能的组件或者说类的时候,复用就会变得方便许多,毕竟我们不需要再回头去改类内部的成员变量函数什么的。原创 2023-03-02 11:17:54 · 651 阅读 · 0 评论 -
C++10:非类型模板参数以及模板的特化
模板其实还有其他的玩法,比如非类型模板参数以及模板的特化。原创 2023-02-26 10:55:00 · 595 阅读 · 0 评论 -
C++9:优先级队列以及仿函数和反向迭代器
优先级队列的本质其实是一个堆,具体到底层的数据结构其实是有数学关系所形成的一个类似二叉树的结构至于其优先级的这个特性,跟大堆小堆的性质是相同的,只不过它使用了仿函数来控制生成大堆还是小堆。原创 2023-02-26 10:01:18 · 577 阅读 · 0 评论 -
C++的容器适配器
双端队列出现的契机则是为了应对list以及vector的短板,vector随机访问效率高但是头插头删效率低下,list随机访问效率低但是头插头删效率高,它们各有优缺,此时为了应对普遍情况,一个中庸却实用的数据结构deque出现了,它虽然没有两者的缺点,但是也没有两者的优点,在作为stack以及队列的基础容器的情况下变得非常适用。但是它本身的结构非常的复杂,这里就不记述了。在STL中,队列和栈的实现都是基于其他的容器所实现的,因为其本身的数据结构需求并不复杂,而且能复用的话为什么不呢?原创 2023-02-23 15:55:22 · 100 阅读 · 0 评论 -
C++8:模拟实现list
list容器的本身其实是一个双向带头循环链表,具体的结构其实并不复杂本人曾在学习数据结构时有所记述,有需要的读者可以跳转至这篇文章那么既然是一个链表,那就少不了节点指针以及节点结构,模拟实现list也需要套入模板,那么我们先实现一个最基本具有数据存放功能的链表来试试看。原创 2023-02-20 09:17:49 · 385 阅读 · 0 评论 -
C++7:STL-模拟实现vector
根据以上的模拟实现,我们基本上了解了vector的基本结构以及接口的使用,其本质不同于顺序表,为了服务于自定义类型以及泛型变成,成员变量是迭代器,而迭代器的本身则是类模板参数,实现并不算困难但是细节还是需要额外处理。希望对你有点帮助!原创 2023-02-13 17:07:27 · 495 阅读 · 0 评论 -
C++6:STL-模拟实现string
string时STL中的模板库之一,类似于专门处理字符串的数据结构,在模拟实现并探讨其中构造的巧妙之处之前,我们短浅的认识一下STL是什么。原创 2023-01-24 16:03:18 · 808 阅读 · 4 评论 -
C++5:初见模板
虽然学习了类和对象,能很方便的处理一些容器类的问题,但是我们还是会遇到如下这种情况。我们创建一个简单的stack类我们单独处理int类型需要使用栈结构的时候还好说,假如我们需要使用double或者其他类型的变量时,操作会变得很难受,复制一段改数据类型吗?代码变得膨大不说还难以管理,诚然我们可以使用typedef来方便修改,可是每一次运行都要更改还是挺蛋疼的。所以为了应对一些函数仅仅只是传参数据类型不同,但是逻辑相同而需要重载函数的情况,C++给出了模板。用起来嘎嘎顺手,嘎嘎好用。原创 2023-01-15 16:37:03 · 313 阅读 · 0 评论 -
C++4:C++中的动态内存管理
而malloc和free则不会。malloc过大的空间的时候会直接崩溃,而new则是抛异常,由于牵扯到多态和继承的问题,不记述。示例:原创 2023-01-05 11:32:10 · 891 阅读 · 3 评论 -
C++类和对象3:关于类内部的更多细节
类和对象的边角细节原创 2023-01-02 18:03:55 · 403 阅读 · 1 评论 -
C++类和对象2:默认成员函数
C++默认成员函数概述介绍原创 2023-01-01 15:43:07 · 655 阅读 · 1 评论 -
C++类和对象1:类是什么?对象是什么?
类和对象中最基本的概念原创 2022-12-28 15:35:10 · 260 阅读 · 1 评论 -
C++1:关于C++的基础概念
如果你刚开始接触C++,可以先了解C++加了些什么,它同C又有什么不同原创 2022-12-24 16:10:28 · 381 阅读 · 1 评论