- 博客(7)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 STL源码剖析之空间配置器
源代码附在最后,并且会进行详细的注释(个人理解还有STL(侯捷)源码剖析的相关内容) 空间配置器:1.空间配置器是对内存进行管理,内存的申请和释放2.空间配置器分为两部分简单空间配置器,也叫一级配置器基于内存池的空间配置器,也叫二级空间配置器 一.SGI STL 第一级配置器对malloc / free的简单封装,但是这个提供了异常处理机制。在以及
2016-08-25 21:51:48 396 1
原创 线性表详解
线性表概念:线性表是一个有限序列,各个表项相继排列,第一个为表头,最后一个是表尾,且每两个相邻项之间有前驱和后继的关系。线性表分为有序线性表和无序线性表。1.顺序表的存储单元La1a2...ai...an 01 i-1
2016-08-20 16:25:38 678
原创 AVL树的旋转
通常,我们在平衡二叉树进行插入和删除的时候常常会破坏平衡二叉树,所以我们必须通过一种方法来再次平衡二叉树使之成为平衡二叉树,这种办法就是旋转。旋转可以分为四种,分别为:1.左单旋转2.右单旋转3.先左后右双向旋转4.先右后左双向旋转接下来我们去分析这四种旋转并且依次用代码实现1.左单旋转旋转过程: 在原有的平衡树中插入20这个节点,导致不平衡,通过旋转
2016-08-11 23:11:26 886
原创 AVL树平衡因子详解
AVL树就是平衡二叉树,左子树和右子树的高度之差绝对值不超过1。而且规定,平衡二叉树的每个节点的平衡因子只能是-1 ,1 ,0;按照公式 平衡因子 = 右子树的高度 - 左子树的高度-1 : 表示左子树比右子树高1 : 表示右子树比左子树高0 : 表示左子树和右子树等高 但是很多人都知道公式,但却有时候不知道怎么去看一个平衡二叉树。接下来我为大家详
2016-08-11 20:59:04 23445 13
原创 指针数组
指针数组的概念:一个数组的各元素值为指针类型数据时,这个数组称之为指针数组。例子:*p[5]就是一维指针数组。代码实例:#includeint main(){int ar[3] = {1,2,3};int *p = ar;printf("%d\n",*p);}输出结果为1.更改输出的值只需要在输出时*p+值就可以输出想要的数组中的值。二维数组的实现:
2016-08-10 21:39:14 318
原创 二叉树详谈(一)
二叉树详谈1.二叉树就是有很多节点(n>=0),如果n=0,则此二叉树为空二叉树;当n>0时,二叉树满足条件:只有一个根节点(root),没有前驱节点,但是有0,1或2直接的后继节点如图所示: 2.二叉树的五种基本形态(1)空二叉树(2)只有一个节点的二叉树(3)只有左子树的二叉树(4)只有右子树的二叉树(5)既有左子树又有右子树的二叉树3.二
2016-08-04 15:22:37 408
原创 vector与迭代器
迭代器:迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。头文件 #include迭代器的意义:一句话“非常的方便”。1.可以像指针一样,但是比指针更强大2.在
2016-08-03 21:02:46 530
More Effective C++(中文版)
2016-10-29
有谁能够帮忙理解一下这段代码
2017-04-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人