C++
文章平均质量分 53
C++基础知识总结
李憨憨_
这个作者很懒,什么都没留下…
展开
-
【C++笔记】之多态
多态多态的概念多态的定义及实现多态的构成条件虚函数如何查看虚表和虚表中的函数虚函数的重写虚函数重写的两个例外1.协变(基类与派生类虚函数返回值类型不同)2.析构函数的重写(基类与派生类析构函数的名字不同)重载、覆盖(重写)、隐藏(重定义)重载与覆盖令人迷惑的隐藏规则多态的原理抽象类原创 2022-05-12 11:44:44 · 532 阅读 · 12 评论 -
【C++从入门到入土】第二十二篇:数据结构之红黑树
红黑树文章目录红黑树一、红黑树简介性质节点红黑树的实现一、红黑树红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。简介红黑树是一种特定类型的二叉树,它是在计算机科学中用来组织数据比如数字的块的一种结构。红黑树是一种平衡二叉查找树的变体,它的左右子树高差原创 2021-09-04 17:09:08 · 403 阅读 · 7 评论 -
【C++从入门到入土】第二十一篇:二叉搜索树之AVL树
AVL树文章目录AVL树一、AVL树1.特点2.操作旋转插入删除查找一、AVL树在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。1.特点AVL树本质上还是一棵二叉搜索树,它的特点是: 1.本身首先是一棵二叉搜索树。2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉原创 2021-09-02 19:05:33 · 151 阅读 · 5 评论 -
【C++从入门到入土】第二十篇:关联式容器-map和set
关联式容器map和set文章目录关联式容器map和set一、setset的使用构造函数与迭代器insert插入erase删除二、mapmap的使用构造函数与迭代器一、setset的使用构造函数与迭代器insert插入erase删除二、mapmap的使用构造函数与迭代器...原创 2021-08-31 18:23:34 · 170 阅读 · 2 评论 -
【C++从入门到入土】第十九篇:二叉搜索树
二叉搜索树文章目录二叉搜索树二叉搜索树概念原理性质复杂度二叉搜索树操作1.结构2.查找3.插入4.中序遍历5.拷贝6.销毁二叉搜索树概念二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜索树作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点,原创 2021-08-26 14:44:05 · 129 阅读 · 6 评论 -
【C++从入门到入土】第十八篇:多态
多态文章目录多态一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarning原创 2021-08-21 17:51:11 · 878 阅读 · 23 评论 -
【C++从入门到入土】第十七篇:继承
继承文章目录继承什么是继承继承方式什么是继承面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。继承代表了 is a 关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。示例:pandas 是基于NumPy 的一种工原创 2021-08-20 16:43:25 · 174 阅读 · 3 评论 -
【C++从入门到入土】第十六篇:再谈数据结构--栈和队列
栈和队列文章目录栈和队列栈(stack)练习1练习2栈的模拟实现队列栈(stack)栈是一个后进先出的数据结构,本身是一个半封闭的容器;如果想要查看栈当中的每一个元素,它里面是没有一个迭代器的支持的,本身不支持遍历,不允许在中间位置进行任何的操作;因此只能在一端进行数据的插入与删除,所以想要访问元素,只能看到栈顶的元素;练习1155.最小栈练习2JZ21.栈的压入弹出序列栈的模拟实现队列...原创 2021-08-09 10:20:27 · 119 阅读 · 6 评论 -
【C++从入门到入土】第十五篇:list的模拟实现
原创 2021-08-06 17:17:31 · 82 阅读 · 4 评论 -
【C++从入门到入土】第十四篇:list的介绍与使用
list的介绍与使用文章目录list的介绍与使用一、list的介绍二、list的使用1.构造函数2.正向迭代器3.反向迭代器4.范围for5.获取首尾元素6.插入元素的相关操作7.删除导致迭代器失效一、list的介绍STL list 容器,又称双向链表容器,即该容器的底层是以双向链表的形式实现的。这意味着,list 容器中的元素可以分散存储在内存空间里,而不是必须存储在一整块连续的内存空间中。可以看到,list 容器中各个元素的前后顺序是靠指针来维系的,每个元素都配备了 2 个指针,分别指向原创 2021-08-06 11:18:58 · 264 阅读 · 1 评论 -
【C++从入门到入土】第十三篇:vector的模拟实现
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例原创 2021-08-05 15:37:57 · 90 阅读 · 0 评论 -
【C++从入门到入土】第十二篇:vector的介绍与使用
vector的介绍与使用文章目录vector的介绍与使用一、vector的介绍二、vector的使用1.构造函数2.迭代器3.容量4.内容的访问5.增删查改6.迭代器失效的问题一、vector的介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当原创 2021-08-04 15:09:11 · 759 阅读 · 0 评论 -
【C++从入门到入土】第十一篇:string模拟实现(续)
原创 2021-08-04 09:49:23 · 107 阅读 · 0 评论 -
【C++从入门到入土】第十篇:string模拟实现
string模拟实现文章目录string模拟实现传统写法1.构造函数2.析构函数3.拷贝构造4.赋值运算符现代写法1.构造函数2.析构函数3.拷贝构造4.赋值运算符类的成员传统写法1.构造函数正确写法:这才是一个空的string类对象,字符串的内容为空,创建的对象才有一个有效的地址;但是一般情况下我们都会写一个带缺省值的构造函数;2.析构函数3.拷贝构造这就是浅拷贝所造成的的问题,浅拷贝只拷贝了指针的地址,而没有拷贝指针所指向的内容深拷贝不仅拷贝了指针,而且拷贝了原创 2021-08-03 14:59:40 · 225 阅读 · 2 评论 -
【C++从入门到入土】第九篇:string相关OJ练习
string相关OJ练习实例一:917.仅仅反转字母方法一:方法二:实例二:387.字符串中的第一个唯一字符方法一:方法二:原创 2021-08-02 10:35:25 · 117 阅读 · 2 评论 -
【C++从入门到入土】第八章:string类的使用
string类提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录string类前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面原创 2021-07-30 13:55:35 · 454 阅读 · 14 评论 -
【C++从入门到入土】第七篇:模板初阶
模板初阶文章目录模板初阶一、函数模板二、类模板一、函数模板以前我们要写交换函数的话是这样来写的:虽然函数重载可以实现,但每次新增加一个数据类型,就需要重新再写一个交换函数,比较麻烦;所以我们可以通过函数模板来解决这类问题这些都是隐式实例化,根据变量类型进行推导的;typename是用来定义模板参数关键字,也可以使用class(切记:不能使用struct代替class)二、类模板...原创 2021-07-29 17:29:59 · 430 阅读 · 2 评论 -
【C++从入门到入土】第六篇:C/C++内存管理
C/C++动态内存管理文章目录C/C++动态内存管理前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):i原创 2021-07-29 14:56:31 · 108 阅读 · 1 评论 -
【C++从入门到入土】第五篇:类与对象(下篇)
类与对象(下篇)文章目录类与对象(下篇)再谈构造函数构造函数体赋值初始化列表引用成员变量const成员变量自定义类型成员单参构造隐式类型转换static 成员友元友元函数友元类再谈构造函数构造函数体赋值构造函数内的语句只能将其称之为给对象赋初值,而不能将其称之为初始化,因为初始化只能初始化一次,而在构造函数中可以多次赋值;初始化列表虽然在这里我们不显式的去写初始化列表,本身在语法上也不会有什么错误,但还是建议将初始化卸载初始化列表中,而不是构造函数体内部;但有几种情况是必须要写初始原创 2021-07-28 18:39:31 · 224 阅读 · 4 评论 -
【C++从入门到入土】第四篇:类与对象(中篇)
类与对象(中篇)文章目录类与对象(中篇)类的六个默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载类的六个默认成员函数构造函数构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数:1、如果类有虚拟成员函数或者虚拟继承原创 2021-07-28 10:43:06 · 290 阅读 · 5 评论 -
【C++从入门到入土】第三篇:类与对象(上篇)
类与对象(上篇)文章目录类与对象(上篇)面向过程和面向对象的初步认识类的引入类的访问限定符访问限定符说明类的实例化类对象模型类对象大小的计算this指针面向过程和面向对象的初步认识面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式原创 2021-07-27 09:04:07 · 242 阅读 · 15 评论 -
【C++从入门到入土】第二篇:C++入门(续)
C++入门文章目录C++入门引用1.引用概念二、使用步骤1.引入库2.读入数据总结引用1.引用概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。比如:李逵,在家称为"铁牛",江湖上人称"黑旋风"二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as原创 2021-07-26 14:14:32 · 422 阅读 · 9 评论 -
【C++从入门到入土】第一篇:初识C++
C++入门文章目录C++入门C++关键字(C++98)命名空间1.命名空间的定义2.命名空间的使用C++输入&输出缺省参数1.缺省参数概念2.缺省参数分类函数重载C++关键字(C++98)C++总计63个关键字,C语言32个关键字命名空间在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。原创 2021-07-25 18:25:34 · 1307 阅读 · 25 评论