栈定义:后进先出的数据结构实现一:基于数组表示的线性表的派生栈的实现。
原理:把线性表的插入和删除操作限制在同一端进行,即得到栈的表现形式。
操作:把数组线性表的右端定义为栈顶。
代码:template
class stack
{
public:
virtual ~stack() {};
virtual bool empty() const = 0;...
分类:
编程语言 时间:
2016-05-07 10:08:44
阅读次数:
211
在前面LZ具体介绍了HashMap、HashTable、TreeMap的实现方法,从数据结构、实现原理、源代码分析三个方面进行阐述,对这个三个类应该有了比較清晰的了解,以下LZ就Map做一个简单的总结。 推荐阅读: java提高篇(二三)—–HashMap java提高篇(二五)—–HashTabl ...
分类:
编程语言 时间:
2016-04-16 12:19:34
阅读次数:
233
指针是c语言的一个重要概念,指针类型是c语言最有特色的数据类型: *利用指针编写的程序可使调用函数共享变量或数据结构,实现双向数据通信; *可以实现内存空间的动态存储分配;可以提高程序的编译效率和执行速度。 (1)指针的基本概念及指针变量的定义 1.基本概念 计算机的内存是以字节为单位的连续的存储空 ...
分类:
其他好文 时间:
2016-04-11 20:44:31
阅读次数:
240
我们知道Redis支持五种数据类型, 分别是字符串、哈希表(map)、列表(list)、集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据结构实也是不一样的。 >>Redis中的redisObject对象 Redis是使用C编写的,内部实现了一个struct结构体redisObj ...
分类:
其他好文 时间:
2016-03-31 20:15:31
阅读次数:
284
handler在Android中被称为“消息处理者”,在多线程中比较常用。 handler内部实现原理 handler实现机制:1,Message对象,表示要传递的一个消息,内部使用链表数据结构实现一个消息池,用于重复利用,避免大量创建消息对象,造成内存浪费2,MessageQueue对象,存放消息
分类:
移动开发 时间:
2016-02-20 08:10:00
阅读次数:
198
递归&算法基础一、递归递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈...
分类:
编程语言 时间:
2016-02-02 21:38:22
阅读次数:
449
【0】README 1) 本文部分内容转自 数据结构与算法分析,旨在理解 高级数据结构实现——自顶向下伸展树 的基础知识; 2) 源代码部分思想借鉴了数据结构与算法分析,有一点干货原创代码,for original source code, please visithttps://github.co
分类:
其他好文 时间:
2016-01-30 02:31:32
阅读次数:
259
1题目实现两个链表的合并2基本功能要求:1、建立两个链表A和B,链表元素个数分别为m和n个。2、假设元素分别为(x1,x2,…xm),和(y1,y2,…yn)。把它们合并成一个线性表C,使得:当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn3、输出线性表C..
分类:
编程语言 时间:
2016-01-02 16:36:30
阅读次数:
1016
跟线性数组和链表不同。HashTable是高速查找的数据结构。本文中的HashTable使用链表处理数组。该HashTable能够指定table的长度。提供了遍历的方法。包含table的长度的选择也比較讲究。其它c的数据结构实现。dyArray參考点击打开链接 treeStruct參考点击打开链接 ...
分类:
移动开发 时间:
2015-12-31 08:52:47
阅读次数:
267
二叉树是每个节点最多有两个子树的有序树。通常子树被称为"左子树"和"右子树".二叉树算法的排序规则:1.选择第一个元素作为根节点2.之后如果元素大于根节点放在右子树,如果元素小于根节点,则放在左子树3.最后按照中序遍历的方式进行输出,则可以得到排序的结果(左->根->右) 8、3、10、1、6、14...
分类:
编程语言 时间:
2015-12-30 19:49:55
阅读次数:
306