C++
文章平均质量分 88
kiiila
这个作者很懒,什么都没留下…
展开
-
C++——AVL树
AVL树:平衡搜索二叉树二叉搜索树的数据如果接近有序,就会变为单支树,查找效率降低。AVL树应用一种方法——当左右子树高度差超过1,降低树的高度。使二叉搜索树能够一直保持平衡状态。原创 2023-11-13 20:19:50 · 66 阅读 · 0 评论 -
C++——位图、布隆过滤器
位图、布隆过滤器。海量数据处理题。原创 2023-11-13 20:30:36 · 96 阅读 · 0 评论 -
C++——unordered_set、unordered_map容器和底层模拟实现(哈希)
set和map的关联式容器,底层为红黑树,最多查找树的高度次,效率非常高。unordered系列用了不同的底层结构,又让效率变得更高。插入和删除比map和set差一点点,但是find效率特别高。原因是哈希结构把数据和位置信息关联(映射),找数据的时候是直接找到。原创 2023-11-02 21:29:03 · 312 阅读 · 0 评论 -
C++——vector
vector的数据结构是顺序表,即数组。vector是一个类模板。模板参数列表第一个参数T是vector的实例化类型。如: vector<int> v1;//T为int vector<string> v2;//T为string。第二个参数是空间配置器,即内存池。平时使用vector不需要传这个参数。内存池:因为容器(如vector,string等)需要频繁的使用内存,通常我们习惯直接使用new、malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会。原创 2023-06-27 18:17:30 · 478 阅读 · 0 评论 -
C++——string模拟实现
没有const迭代器。原创 2023-06-25 21:26:14 · 54 阅读 · 0 评论 -
C++——STL简介、string类
STL是c++标准库的组成部分,是一个可复用的组件库,也是包含数据结构和算法的软件框架。1.仿函数2.算法3.迭代器4.空间配置器5.容器6.配接器。原创 2023-06-21 18:50:31 · 637 阅读 · 0 评论 -
C++——模板
class 类模板名// 类内成员定义// 类模板函数在类外定义时,需要加模板参数列表if(_pData)// Vector是类名,Vector才是类型拿栈距举例:我们用 typedef 来解决可维护性,想要int的栈就 typedef int STDataType;想要double的栈就typedef double STDataType;但当我们想要两个栈,一个int,一个double就很麻烦了。原创 2023-06-17 18:04:30 · 277 阅读 · 0 评论 -
C++——内存管理
内存泄漏并不是指内存消失了,而是指针丢失,失去对改该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:程序正常结束,内存泄漏了最终还是会还给操作系统。但长期运行的程序如果出现内存泄漏,影响很大,会导致响应越来越慢,最终卡死。1.C++中关于堆和栈的说法,哪个是错误的( )A.堆的大小仅受操作系统的限制,栈的大小一般较小B.在堆上频繁的调用new/delete容易产生内存碎片,栈没有这个问题C.堆和栈都可以静态分配D.堆和栈都可以动态分配A.堆大小受限于操作系统,而栈空间一般由系统直接分配。原创 2023-06-16 19:44:57 · 1374 阅读 · 0 评论 -
C++——类和对象(中)
)/ /默认构造函数定义在下面例:自动生成的构造函数对内置类型不处理。原创 2022-11-21 19:27:52 · 700 阅读 · 0 评论 -
C++——类和对象(下)
原因:const变量必须在。原创 2022-11-20 21:30:08 · 899 阅读 · 0 评论 -
C++——类和对象(上)
struct的升级版——class{//类体:成员函数(方法)和成员变量(属性)};class是定义类的关键字。className是类名,{}里是类的主体。注意}最后的分号不能省略。类中的内容称为类的成员:变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。c++的类可以函数在上,变量在下。或者变量在上,函数在下。c++把类看作整体,搜索的时候在整个类里找。顺序不重要,不影响效率。c语言习惯先定义或者声明再使用。c语言每个变量和函数之间没有必定的关联,是独立的。原创 2022-10-16 22:43:57 · 1172 阅读 · 0 评论 -
C++基础
命名冲突:语言中在同一域的变量同名就会报错。且没办法解决,只能更改名字,只有一个变量能用这个名字。C++为了解决该问题,引入命名空间,新增关键字namespace定义命名空间域。namespace后可以定义变量,函数,类型命名空间可以嵌套多文件可以用同名的命名空间,实质上是同一个命名空间,编译器最终会把他们合在一起域全局变量是在全局域定义的。局部域,域会影响访问和生命周期。同一域不能定义同名变量,不同域可以。namespace是找了个办法使变量可以同名。_::_ 域作用限定符。原创 2022-10-09 22:52:56 · 809 阅读 · 0 评论