【C++】map和set的使用 2.我们这里排序的依据是单词出现的次数,如果我们直接排序,默认pair<string,int>是按照单词的各个字母的ASCII值来排的,显然不是我们想要的效果,以及我们要按单词频率从高到低实现一个降序,所以我们可以考虑写一个仿函数。比如:现在要建立一个英汉互译的字典,那该字典中必然有英文单词与其对应的中文含义,而且,英文单词与其中文含义是一一对应的关系,即通过该应该单词,在词典中就可以找到与其对应的中文含义。
二叉搜索树 关于二叉树的内容,在前面C语言部分我们就已经有所涉猎,所以今天的内容应该算是二叉树的进阶,可能有些小伙伴不知道这个内容的意义,所以我们在具体学之前可以先看看为什么要学这个内容,我认为意义主要有下面两点:1. map和set特性需要先铺垫二叉搜索树,而二叉搜索树也是一种树形结构2. 对二叉搜索树的特性了解,有助于更好的理解map和set的特性好了,废话不多说,开始今天的内容吧~
【Linux】软件包管理器 yum和vim编辑器 至此,关于yum和vim的我们就到这里结束了,不过我们下去之后还需要花大量的时间和精力去学习与熟悉从接下来的博客开始,由于root的权限过大,我们也应该摒弃root超级用户的使用,开始我们自己创建的普通用户之旅~
【C++】多态 多态的构成条件多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了 Person。Person对象买票全价,Student对象买票半价。public://虚函数cout << "普通人买票——全价" << endl;public://虚函数的重写/覆盖//三同:函数名、参数、返回值cout << "学生买票——半价" << endl;public:cout << "军人买票——优先" << endl;
【Linux】常见指令收官&&权限理解 1.目录的可执行权限是表示你可否在目录下执行命令。2.如果目录没有-x(可执行)权限,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使目录仍然有-r (可读)读权限(这个地方很容易犯错,我们可能会认为有读权限就可以进入目录读取目录下的文件)3.而如果目录具有-x(可执行)权限,但没有-r(可读)权限,则用户可以执行命令,可以cd进入目录。
【C++】继承 1.继承的概念继承机制是 面向对象程序设计使代码可以复用的最重要的手段它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程以前我们接触的复用都是函数复用而继承的本质则是类设计层次的复用public:protected:// 姓名// 年龄protected:int _stuid;// 学号protected:int _jobid;// 工号int main()
【C++】模拟实现栈和队列 上面我们用list实现了栈和队列,但是当我们查看文档时,发现Container用的并不是vector或是list,而是deque那么这个deque又是什么呢?deque(双端队列):是一种双开口的"连续"空间的数据结构双开口的含义是:可以在头尾两端进行插入和删除操作,且时间复杂度为O(1)它与vector比较,头插效率高,不需要搬移元素;与list比较,空间利用率比较高。
【C++】vector和list的迭代器 我们在学习C++STL部分的时候,在vector和list的部分初步认识了迭代器,以及在初学阶段,会觉得迭代器失效是一个很头痛的问题...所以接下来我们就先从迭代器的使用开始,对迭代器进行一个浅浅的梳理,希望对大家有所帮助~好的,废话不多说,直接开始今天的内容。
【C++】string类的模拟实现 在之前学习string的使用时,我们会发现明明std中就有swap,为什么string还要再实现一个?说到erase,自然要跟npos联系起来,npos是string类的静态成员变量。insert的代码,我们要注意画图,尤其是关于边界的一些条件的处理,我们要小心。尾插字符串,这里我们需要计算,然后决定开多少空间(直接开2倍可能不够用)默认生成的赋值重载也会导致浅拷贝,所以我们需要实现深拷贝。这里给出string的各个函数定义和实现的代码。开辟新的空间,然后进行拷贝,对旧空间进行释放。
【C++】模板初阶 class 类模板名// 类内成员定义// 动态顺序表// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public :, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表if(_pData)
【C/C++】内存管理 本篇学习目标:了解C/C++内存的分布,复习C语言内容管理方式,学习C++内容管理方式、了解operator new与operator delete函数 、new和delete的实现原及其原理、定位new的表达式、最后介绍相关面试题的解析文章目录1. C/C++内存分布2. C语言中动态内存管理方式3. C++中动态内存管理4. operator new, operator delete函数5. new和delete的实现原理6. 定位new表达式7. 常见面试题先来回顾一下,从前学习C语言的时候,我们知道
【C++】类和对象(中) 至此,今天的博客就结束了,关于类和对象(中)的内容确实很多,有些地方也并不容易理解,所以有很多内容恕博主能力有限,无法细说~另外这篇博客其实写了挺久的,也希望大家多多支持~就这样,我们下篇博客见~
【C++】类和对象(上) / 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。
【C++】入门C++(下) 本篇博客是C与C++过渡的最后一篇博客,从下一篇博客开始,我们就要进入类和对象的学习本篇博客要分享的东西包括内联函数,auto关键字,基于范围的for循环和指针空值nullptr废话不多说,开始今天的内容~好啦,对于C++入门的内容就先写到这里吧如果文中分析,题解代码有不足的地方欢迎大家在评论区讨论和指正下一篇博客是类和对象希望大家支持~让我们在接下来的时间里一起学习,一起进步吧~