java与数据结构(6)---java实现链栈
2013-10-06 16:35
190 查看
栈之链式存储结构链栈
链栈
栈的链式存储结构成为链栈。链栈是没有头结点,头结点就是栈顶指针top。
代码结构
package list;
public interface Stackable;公共接口类
public class Node;公共结点类
class LinkedStack implements Stackable;实现栈接口的链栈类
class TestLinkedStack;测试类
公共接口类
View Code
链栈和顺序栈对比
顺序栈和链栈的插入、删除操作时间复杂度都是O(1);
顺序栈需要事先确定数组的长度,有可能存在浪费内存空间的情况;
链栈虽然不需要事先确定表长,但因为需要存储链式指针,同时加大了内存开销;
因此,如果数据元素变化不可预测,时大时小,最好使用链栈;如果它的变化空间在可控范围内,则可以考虑使用顺序栈。
链栈
栈的链式存储结构成为链栈。链栈是没有头结点,头结点就是栈顶指针top。
代码结构
package list;
public interface Stackable;公共接口类
public class Node;公共结点类
class LinkedStack implements Stackable;实现栈接口的链栈类
class TestLinkedStack;测试类
公共接口类
//***************************************************************** //*栈之链式存储结构链栈-JAVA实现 //*@author Nora-Xie //*@time 2013-10-06PM16:20 //***************************************************************** package list; import list.Node; public class TestLinkedStack { public static void main(String[] args) { Stackable<String> stack = new LinkedStack<String>("A"); System.out.println(stack.Length()); System.out.println(stack); stack.Push("B"); stack.Push("C"); System.out.println(stack.Length()+" "+stack); stack.Pop(); System.out.println(stack.Length()+" "+stack); } }
View Code
链栈和顺序栈对比
顺序栈和链栈的插入、删除操作时间复杂度都是O(1);
顺序栈需要事先确定数组的长度,有可能存在浪费内存空间的情况;
链栈虽然不需要事先确定表长,但因为需要存储链式指针,同时加大了内存开销;
因此,如果数据元素变化不可预测,时大时小,最好使用链栈;如果它的变化空间在可控范围内,则可以考虑使用顺序栈。
相关文章推荐
- 数据结构专题——栈与队列之链栈及其Java实现
- 【数据结构】之链栈的java实现
- 【数据结构】堆栈(顺序栈、链栈)的JAVA代码实现
- 【数据结构】之链栈的java实现
- 【数据结构】之链栈的java实现
- 数据结构 -- 链栈java实现
- 数据结构实战java实现线性表
- Java实现简单的数据结构(四)
- 【数据结构】Java实现二叉树遍历(递归)
- 数据结构学习----顺序栈(Java实现)
- Java实现链表数据结构
- 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
- java实现数据结构中的环形队列
- 【数据结构&&等差数列】KMP简介和算法的实现(c++ && java)
- java使用链栈实现迷宫求解
- 数据结构二叉树的递归与非递归遍历之java,javascript,php实现可编译(1)java
- 数据结构Java实现06----中缀表达式转换为后缀表达式
- java学习笔记之实现基本数据结构——栈
- 【数据结构】之二叉树的java实现
- java实现数据结构单链表示例(java单链表)