大话数据结构七:两栈共享存储空间(双向栈)
摘要:
1. 为什么要使用双向栈?通过上一篇博客 -特殊的线性表(栈),不难知道栈的顺序存储(数组实现)性能相对较高,因为它不存在插入和删除时移动元素的问题,但是它有一点缺陷:要实现确定数组存储容量的大小,万一不够,需要扩充容量。这时双向栈就派上用场了,它可以最大限度的利用事先开辟的存储空间。 2. 双向栈有什么特点? 数组有两个端点,两个栈有两个栈底,让一个栈的栈底为数组的始端,即下标为0处,另一个栈为数组的末端,即下标为数组长度m-1处。这样,两个栈如果增加元素,就是两端点向中间延伸(如下图)。 3. Java实现双向栈// 双向栈的数组实现public class ShareSta... 阅读全文
posted @ 2013-10-10 11:09 love so much 阅读(750) 评论(0) 推荐(0) 编辑