数据结构与算法(3)---Java语言实现:栈的单链表定义
2017-09-05 11:21
519 查看
栈(stack)是一种受限制的线性表,只能在线性表的一端进行插入和删除,是先进后出(FILO—First-In/Last-Out)的结构。
下面是用单链表来定义堆栈。单链表的定义参看系列博文的第一篇。
空栈异常的定义:
下面是用单链表来定义堆栈。单链表的定义参看系列博文的第一篇。
package 数据结构; public class StackList { public Slinklist top; public int size; //构造方法 public StackList() { top=null; size=0; } //返回栈的元素个数 public int getSize(){ return size; } //判断栈是否为空 public boolean isEmpty(){ return size==0; } //入栈操作 public void push(int e){ Slinklist p=new Slinklist(e,top); top=p; size++; } //出栈操作 public int pop() throws EmptyStackException{ if (size<1) throw new EmptyStackException("空栈,没有元素"); int pdata=top.getData(); top=top.getNext(); size--; return pdata; } //获取栈顶元素 public int peek() throws EmptyStackException{ if(size<1) throw new EmptyStackException("空栈,栈顶没有元素"); int topdata=top.getData(); return topdata; } }
空栈异常的定义:
package 数据结构; public class EmptyStackException extends RuntimeException { public EmptyStackException(String str){ super(str); } }
相关文章推荐
- 数据结构与算法(2)---Java语言实现:线性表的单链表定义:方法补充,实现单链表反转,去重
- 数据结构与算法(1)---Java语言实现:线性表的单链表定义
- 数据结构与算法(4)---Java语言实现:队列的单链表定义
- java语言实现单链表
- 链表一元多项式计算器的实现(Java语言描述)
- 链表的实现(Java语言描述)
- 链表(LinkedList) Java 语言实现
- java语言实现双向链表
- 单链表的存储方式及实现(java语言描述)
- 链表的基本操作java语言实现
- 链表一元多项式计算器的实现(Java语言描述)
- Data structure-3 单链表LinkedList--Java语言实现
- Java语言中链表和双向链表的实现
- Java语言中链表和双向链表的实现-Java基础-Java-编程开发
- Java语言解决约瑟夫环问题(链表实现)
- Java数据结构之简单链表的定义与实现方法示例
- java 语言中链表和双向链表的实现!
- 环形链表实现约瑟夫问题 java语言
- 反转单向链表 (java 语言实现)
- Java语言中链表和双向链表的实现