暂无搜索历史
相比于C++98,C++11在C++98的基础上进行了大量的改进和扩展,包含了很多新特性,也包括对一些缺陷的修正,这些新特性和改进不仅提高了代码的质量和效率,还...
上篇文章我们简单地实现了哈希表,本篇文章将基于开散列实现的哈希表封装出unordered_set和unordered_map的基本功能。 本文不再从头实现哈希...
AVL树、红黑树等平衡树搜索效率取决于搜索过程中的比较次数,一般时间复杂度为O(logN),虽然平衡树的搜索效率已经很快,但如果可以不经过任何比较或者常数次的比...
前面我们介绍了set和map的底层细节,在上篇文章中也简单实现了红黑树,而我们知道set和map的底层就是依靠红黑树实现的,那么在本文我们将学习如何基于红黑树来...
本篇文章不会带你从头到尾实现红黑树,但会带你深入理解红黑树是怎么实现平衡的,怎么通过旋转变换实现保持平衡,以及实现平衡过程中的细节应该怎么处理等。
本篇文章不会带你从头到尾实现AVL树,但会带你深入理解AVL树是怎么实现平衡的,怎么通过旋转变换实现保持平衡,以及实现平衡过程中的细节应该怎么处理等。
包管理器(Package Manager)是一种软件工具,它自动化了安装、更新、配置、移除和管理计算机程序库中软件包的过程。在操作系统和软件开发的上下文中,包管...
在Linux系统中,权限是指系统用来限制和控制用户对文件和目录的访问能力的一组规则。这些规则决定了用户可以对文件或目录执行哪些操作,比如读取(read)、写入(...
在学习set和map之前,我们首先来了解一下 关联式容器 和 键值对 这两个概念。
承接上文,本文将继续补充介绍一些Linux基本指令,以及探讨指令究竟是什么,又什么是权限?权限是 Linux 系统中非常重要的一部分,它决定了谁可以读取、写入或...
本篇文章将介绍一种功能更加强大的二叉树——二叉搜索树。 相比于普通的二叉树,二叉搜索树在很多方面都有优势,尤其是在查找数据上效率明显提高,并且通过中序遍历二叉...
本篇文章带你深入学习面向对象设计思想的重要体现之一——多态。 多态在面向对象编程(OOP)中具有深远的意义,它不仅是OOP的三大特性之一,还是实现代码复用、提...
可能很多刚开始接触Linux的童鞋们和我一样,在这之前对Linux并不熟悉,只知道Linux是一个操作系统,之外一概不知。没关系,问题不大,本篇文章将会带你初步...
可以用快慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标1,这是为了体现慢指针记录不重复的数据个数。...
有时候我们需要非常大的数据相加时,整型的范围不够,就可以将数据转换为字符串的形式运算,再将结果转回为整型。 整型相加时是从后往前加的,这里的字符串相加我们也从...
继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称子...
适配器是一种设计模式,设计模式是一套被反复使用的、多数人知道的、经过分类编目的、代码设计经验的总结,该模式是将一个类的接口转换成客户希望的另外一个接口。
list是带头双向循环链表,它与我们之前学习的string和vector的最大区别是物理结构不同,string和vector在逻辑上和物理上都是连续的,但lis...
为了方便打印vector中不同类型的数据,可以将迭代器遍历和范围for遍历封装成一个模版函数,有几点需要注意:
通过模拟实现string类的主要接口可以使我们对string类的理解更加透彻,深入理解内存管理,可以更好地理解字符串在内存中的存储方式,以及如何进行内存分配和释...
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市