JavaSE入门 我们还可以创建自定义异常类,并在适当的时候抛出。try {枚举类型定义使用enum关键字,后面跟枚举类型的名称,然后列出一组固定的值,每个值之间用逗号分隔。最后通常以一个大括号{}结束,并且可以包含一些方法定义和其他元素。
C++实现位图与布隆过滤器 之前介绍了哈希表,本文要介绍另一种基于哈希思想的数据结构——位图。位图也是基于哈希思想将数据进行映射,位图在处理一些海量数据问题方面有着高效,占用内存资源较少等诸多优点。布隆过滤器本质也是位图结构,在一些场景下可以高效的过滤筛选出一些数据,是一种极其有用的工具。
红黑树封装set和map(插入部分) 之前我们实现了红黑树的插入的部分,本文主要介绍将之前实现的红黑树封装成map和set。我们是以学习的角度来封装容器,不用非要把库中容器所有功能都实现出来。我们主要目的是学习库中代码设计技巧和模板复用的思想。
C++实现AVL树和红黑树(插入部分) 之前介绍了二叉搜索树,本文主要是对AVL树和红黑树进行介绍。普通的二叉搜索树插入结点之后可能会失去平衡,退化成单链表形式造成查找效率低下,因此引入了二叉搜索树和红黑树,在插入节点后会进行一定的处理维持树的平衡性,提高查找效率。本文主要介绍的是插入节点后处理,对删除节点没有做介绍。
C++多态总结 本文将会对多态进行讲解,多态是面向对象3大特性之一,多态在继承的基础上增强了代码的复用性和灵活性,这也是C++中特别重要的一个知识点。多态可以分为动态多态和静态多态的,这里是主要对动态多态进行讲解。
Linux下的文件管理系统与软硬链接以及动静态库的制作使用理解 本文主要是对Liunx下的磁盘文件进行介绍,现在主流的Liunx磁盘文件系统是Ext3.0或者Ext4.0。这里主要是以相对简单的Ext2.0进行介绍的,通过认识Liunx下的磁盘文件系统,让我们对操作系统管理磁盘的理解更加深刻。同时还会对软硬链接和动静态库进行详细介绍。
模拟实现STL容器之stack priority_queue以及对deque的介绍 本文主将会对栈进行模拟实现,这里实现的侧重点在于C++语言特性,而不是数据结构方面。栈和队列的具体实现早在之前数据结构相关的博客中实现了。这里就不再对队列进行实现了,这里主要以栈为例子介绍一下C++中的适配器,之后会对优先级队列进行模拟实现,同时也会对双端队列和仿函数进行介绍。
模拟实现STL容器之list 本文主要介绍对list模拟实现,list模拟实现最精华的地方在于迭代器的实现。通过手动实现list让我们进一步更加深刻认识到模板的作用。本文对数据结构方面的实现可能不多,这里主要围绕C++语法特性进行介绍。
Linux下的进程空间地址理解与进程等待 本文主要围绕Liunx下的进程空间地址进行介绍,初步引入虚拟地址和页表的概念。同时将之前没细说如何避免僵尸进程的这个问题又拿出来进行讨论,从而引出了进程等待的概念。
模拟实现STL容器之vector 本文主要对vector容器的实现进行讲解,vector我们在使用的感觉它有点像数组,它也是个类模板,可以根据需要实例化出不同的模板类用于存储数据。它的底层实现也是像之前实现的顺序表。本文主要参考库中的vector实现,通过模拟实现让我们对容器理解更加深刻。