听说爱情回来过

导航

2015年12月3日 #

二叉树遍历

摘要: 先序遍历,又叫先根遍历,即:根左右;中序遍历,又叫中根遍历,即:左根右;后序遍历,又叫后根遍历,即:左右根。 阅读全文

posted @ 2015-12-03 23:21 听说爱情回来过 阅读(161) 评论(0) 推荐(0) 编辑

二叉搜索树、B树

摘要: 二叉搜索树又叫二叉排序树。B树又可写为B-树,“B-树”种的“-”无区分意义。此外,还有B+树,B*树。 阅读全文

posted @ 2015-12-03 22:58 听说爱情回来过 阅读(212) 评论(0) 推荐(0) 编辑

2013年4月11日 #

【小知识】C、C++ 中const的实现机制

摘要: 之前对于const的理解,可以说是知道“然”,但不知道“所以然”,意思是我知道被const修饰的标识符是一个“常量”,但是不知道为什么是这样,还有C和C++中const的实现机制有何区别。下面就来学习下这个小知识。一句话概括就是:const在C语言中表示只读的变量,而在C++中表示一个常量。C语言中... 阅读全文

posted @ 2013-04-11 19:38 听说爱情回来过 阅读(1892) 评论(0) 推荐(1) 编辑

2013年4月6日 #

C++ STL 容器 deque 内部实现原理

摘要: 双端队列(deque)是一种支持向两端高效地插入数据、支持随机访问的容器。其内部实现原理如下:双端队列的数据被表示为一个分段数组,容器中的元素分段存放在一个个大小固定的数组中,此外容器还需要维护一个存放这些数组首地址的索引数组,如下图所示。由于分段数组的大小是固定的,并且它们的首地址被连续存放在索引... 阅读全文

posted @ 2013-04-06 16:09 听说爱情回来过 阅读(7832) 评论(1) 推荐(1) 编辑

STL容器删除元素时内存释放情况

摘要: STL中各个容器的实现方式是不一样的,在删除元素时内存的释放情况也不一样。下面是具体情况。1.vector总是不会释放内存删除向量容器的元素时,并不会使空闲的空间被释放,这时可以使用下面的语句达到释放多余空间的目的( s 表示目的容器,T表示容器的元素类型):vector(s.begin(), s.... 阅读全文

posted @ 2013-04-06 14:56 听说爱情回来过 阅读(1021) 评论(0) 推荐(0) 编辑

vector::reserve()对迭代器的影响

摘要: 首先简单介绍一下vector。vector的实现一般是用一个动态分配的数组,vector中的元素连续地存放在这个数组中,并且vector具有动态扩展容易空间的功能,当数组的空间不够时,vector对象会自动new分配一块更大的空间,使用赋值运算符“=”将原有的数据分别赋值到新的空间中,并将原有的空间... 阅读全文

posted @ 2013-04-06 13:44 听说爱情回来过 阅读(706) 评论(0) 推荐(0) 编辑