Java实现链栈
2016-10-22 18:33
369 查看
用到了之前链表写的结点类,可以在前面的文章中找到,只是定义了数据域和指针域,这里不再写了
接口类:
链栈类:
接口类:
package com.stack; import sun.reflect.generics.tree.VoidDescriptor; public interface IStack { public void clear(); public boolean isEmpty(); public int length(); public Object peek();//取栈顶元素并返回其值,若为空则返回null public void push(Object x)throws Exception;//入栈 public Object pop();//出栈 public void display(); }
链栈类:
package com.stack; import linearList.Node; public class LinkStack implements IStack { private Node top;//用到之前写过的结点类,栈顶元素的引用 @Override public void clear() { top=null; } @Override public boolean isEmpty() { return top==null; } @Override public int length() { Node p=top; int length=0; while(p!=null){ p=p.next; length++; } return length; } @Override public Object peek() { if(!isEmpty()){ return top.data; } else{ return null; } } @Override public void push(Object x) throws Exception { Node p=new Node(x); p.next=top; top=p; } @Override public Object pop() { if(isEmpty()){ return null; } else{ Node p=top; top=top.next; return top.data; } } @Override public void display() { Node p=top; while(p!=null){ System.out.printf(p.data.toString()+" "); p=p.next; } } }
相关文章推荐
- (数据结构与算法分析 三)------栈的实现(包括链栈和数组实现栈 Java语言描述)
- java与数据结构(6)---java实现链栈
- 链栈实现算法 - Java 学习笔记(26)
- 【数据结构】堆栈(顺序栈、链栈)的JAVA代码实现
- 链栈的java实现
- 栈的Java实现--链栈
- 【数据结构】之链栈的java实现
- java使用链栈实现迷宫求解
- java利用链栈实现大数加法问题
- 【数据结构】之链栈的java实现
- java使用链栈实现数制转换
- 数据结构 -- 链栈java实现
- 数据结构专题——栈与队列之链栈及其Java实现
- java实现链栈
- java 实现链栈存储的方法
- java实现链,链栈,有序表和双链表(转)
- 链栈(java实现)
- (学习java)链栈结构的简单实现
- 【数据结构】之链栈的java实现
- 从一个ConnectionPool的实现看design pattern的运用 (source code for Java 1.1)