
数据结构,模板
double_happiness
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态栈模拟实现
栈的常见操作: Push——压栈 Pop——出栈 Top——求栈顶 Empty——判断栈是否为空 Size——求栈中元素个数 动态栈的模拟实现: #define _CRT_SECURE_NO_WARNINGS 1 #include template class Stack { public: Stack() //构造函数 : _arr(NULL)原创 2017-04-14 12:26:26 · 758 阅读 · 0 评论 -
队列模拟实现
队列的特点: 先进先出/后进后出 队列的常见操作: Push——往队尾插入一个元素 Pop——从队头删除一个元素 Front——返回队列的第一个元素 Back——返回队列的最后一个元素 Size——求队列的元素个数 Empty——判断队列是否为空 队列的模拟实现: #include template struct QueueNode {原创 2017-04-14 23:43:13 · 2110 阅读 · 0 评论 -
位图模拟实现
位图(BitMap): 位图是一个数组的每个数据的每个二进制位表示一个数据,0表示数据不存在,1表示数据存在。通常用来判断一个数据存在或者不存在。 优点:节省空间 位图代码实现: #include using namespace std; class BitSet { public: BitSet(size_t n) { _a.resize((n原创 2017-04-23 15:14:09 · 708 阅读 · 0 评论 -
深入理解vector的拷贝构造
腾讯面试题:请问vector的拷贝构造干了些什么? 拿到这道题可能很多人都已经暗自里庆幸,对于学习过过数据结构的人,对于vector这个结构体一定不会陌生,但是如果在面试的过程中面试官考到了这道题我们要该如何来系统的答出令面试官满意的答案。 下面我们按照一定的条理从下面几个步骤来回答这个问题: (1)第一点应该清楚vector使用的是深拷贝; (2)选择合适原创 2017-05-06 22:44:38 · 4537 阅读 · 0 评论 -
九大排序之——希尔排序
插入排序分类: 直接插入排序: 思想:将要排序的序列看成两个序列,一个是有序序列,另一个是无序序列,每次取无序序列中的元素往有序序列中的合适位置插入,直到无序序列为空,排序完成。 图解示例(红色为有序序列黑色为无序序列) 执行步骤: (1)一个数可以认为是有序的,所以第一次区间划分如上图; (2)在无序序列中取一个数,从有序序列的最后一个数开始向前扫描,原创 2017-04-13 14:24:58 · 1464 阅读 · 0 评论