C++
文章平均质量分 94
Suk-god
正确的开始,微小的长进,然后持续
展开
-
基于TCP的聊天系统
基于TCP socket编程的聊天系统原创 2022-08-03 14:33:52 · 1188 阅读 · 1 评论 -
【C++】AVL树的简单实现及验证
文章目录1、什么是AVL树?2、AVL树部分模块模拟实现2.1 AVL树结点的定义:2.2 AVL树的插入1、什么是AVL树? AVL树可以是一棵空树 AVL树也可以是一棵具有如下性质的二叉搜索树: ①它的左右子树都是一棵AVL树 ②左右子树高度之差(平衡因子)的绝对值不能超过1如果一棵二叉搜索树是高度平衡的,那么他就是AVL树。如果他有n个结点,其高度可以保持在O(log2n),搜索时时间复杂度也就是O(log2n)2、AVL树部分模块模拟实现2.1 AVL树结点的定义原创 2022-05-29 13:15:38 · 492 阅读 · 4 评论 -
【C++】二叉搜索树
1、二叉搜索树的概念 二叉搜索树又称二叉排序树,它可以是一颗空树,亦可以是一颗具有如下性质的二叉树: ①若根节点的左子树不为空,则左子树上的所有节点的值域都小于根节点的值 ②若根节点的右子树不为空,则右子树上的所有节点的值域都大于根节点的值 ③根节点的左右子树分别也是一颗二叉搜索树例如下面的这棵二叉树就是一棵二叉搜索树:注意:判定一棵二叉树是否为二叉搜索树一定要紧扣二叉搜索树的概念~2、二叉搜索树的操作声明:该文章讨论的是二叉搜索树中节点值唯一的情况。二叉搜索树的查找对于查找部分原创 2022-05-22 12:46:46 · 1352 阅读 · 1 评论 -
【C++】继承之C++中不同的继承体系
文章目录单继承多继承菱形继承概念存在的问题如何解决?菱形虚拟继承虚拟继承什么是虚拟继承?内存层面理解虚拟继承虚拟继承和普通单继承的区别虚拟继承 + 菱形继承单继承一个子类只有一个父类。这类继承方式是最为简单的。具体可以参考继承 上篇中的例子。这里给出简单的图示即可:多继承一个子类有两个或两个以上的直接父类,这样的继承关系称之为多继承。图解:注意事项: ①在多继承的场景下,建议在继承的每一个基类名称前都加上继承方式,如果不加,可能无法达到我们的预期结果。 结论: class修饰的类原创 2022-05-02 13:13:42 · 914 阅读 · 27 评论 -
【C++】继承 上篇
文章目录1、概念及定义1.1 概念1.2 定义2、class 与 struct 的区别3、赋值兼容规则4、继承中的作用域问题5、派生类(子类)的默认成员函数5.1 构造函数5.2 拷贝构造函数5.3 赋值运算符重载5.4 析构函数6、基类中哪些成员被子类继承了?6.1 成员变量6.2 成员方法1、概念及定义1.1 概念继承主要的工作就是-----共性抽取具体地讲: ①继承机制是面向对象程序设计使代码可以复用的最重要的手段; ②允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样实现的类原创 2022-05-01 21:19:26 · 1704 阅读 · 4 评论 -
【C++】list模拟实现
list容器的模拟实现原创 2022-04-23 22:59:41 · 2572 阅读 · 12 评论 -
【C++】list容器介绍
文章目录1、list介绍2、list的底层结构3、list接口使用3.1 构造&&析构3.1.1 构造3.1.2 析构3.1.3 赋值运算符重载3.2 迭代器3.3 容量相关3.4 元素访问相关3.5 修改相关1、list介绍list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向循环链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似原创 2022-04-20 16:53:56 · 2673 阅读 · 6 评论 -
【C++】vector模拟实现
文章目录1、前提铺垫2、构造和析构析构模拟2.1构造相关2.2 析构相关的2.3 赋值运算符重载2.4 接口测试2.4.1 内置类型测试2.4.2 自定义类型测试3、迭代器相关接口模拟3.1 接口实现3.2 代码测试4、容量相关的接口模拟4.1 接口实现4.2 代码测试5、访问元素相关的接口模拟6、修改相关的接口模拟1、前提铺垫SGI版本的vector的底层管理方式与我们先前学习的数据结构部分的顺序表,略有差别。它在底层是通过迭代器(原生态的指针)来管理空间的。具体的定义如下:namespace gy原创 2022-04-16 15:57:56 · 1814 阅读 · 15 评论 -
【C++】迭代器 && vector中迭代器失效
文章目录1、什么是迭代器?2、迭代器与指针3、迭代器的分类3.1具体分类3.2为什么要对迭代器分类?3.3迭代器的使用建议4、vector迭代器失效4.1迭代器失效及其危害4.2哪些操作会导致迭代器失效 && 如何解决1、什么是迭代器?在STL中,容器的迭代器(Iterator)被作为容器元素对象或者IO流中的对象的位置指示器.因此,我们可以把迭代器理解为面向对象的指针(一种泛型指针或通用指针),它不依赖元素的真实类型。如何理解这里的通用?迭代器的“通用”是概念上的一种通用。所原创 2022-04-13 12:28:38 · 1734 阅读 · 7 评论 -
【C++】vector容器的使用
1、vector的介绍2、 vector常用的接口2.1 构造和析构相关2.2 迭代器相关2.3 容量相关2.4 访问元素相关2.5 修改相关原创 2022-04-11 11:37:35 · 1708 阅读 · 1 评论 -
【C++】string容器模拟实现
浅拷贝问题的解决---深拷贝 写时拷贝string的部分功能模拟实现原创 2022-04-09 14:50:13 · 1362 阅读 · 18 评论 -
【C++】string使用
string容器,接口使用原创 2022-04-08 19:06:29 · 4570 阅读 · 22 评论 -
【C++】模板
模板相关知识的总结原创 2022-03-30 09:45:46 · 737 阅读 · 33 评论 -
【C++】内存管理基础篇
C++内存管理基础知识原创 2022-03-28 09:51:43 · 242 阅读 · 5 评论 -
【C++】const关键字详解 && volatile关键字了解
const的特性 详解volatile关键字const volatile的组合关键字含义原创 2022-03-23 22:12:31 · 3109 阅读 · 37 评论 -
【C++】类和对象(中篇)
类和对象的6个默认成员函数构造函数析构函数拷贝构造赋值运算符重载原创 2022-03-19 18:33:04 · 1893 阅读 · 25 评论 -
【C++】类和对象(上篇)
C++类和对象this指针原创 2022-03-16 16:03:17 · 3851 阅读 · 28 评论 -
【C++】入门基础预备知识
C++的基础入门知识原创 2022-02-06 15:51:46 · 728 阅读 · 19 评论