数据结构与算法(3)---Java语言实现:栈的单链表定义
来源:互联网 发布:win10杀毒软件知乎 编辑:程序博客网 时间:2024/05/24 02:38
栈(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);}}
阅读全文
0 0
- 数据结构与算法(3)---Java语言实现:栈的单链表定义
- 数据结构与算法(1)---Java语言实现:线性表的单链表定义
- 数据结构与算法(4)---Java语言实现:队列的单链表定义
- 数据结构与算法(2)---Java语言实现:线性表的单链表定义:方法补充,实现单链表反转,去重
- Java数据结构与算法---栈的实现
- 数据结构与算法(5)---Java语言实现:选择排序
- 数据结构与算法(6)---Java语言实现:冒泡排序
- 数据结构与算法(7)---Java语言实现:快速排序
- 数据结构与算法(8)---Java语言实现:插入排序
- 数据结构与算法(9)---Java语言实现:希尔排序
- 数据结构与算法(10)---Java语言实现:归并排序
- 数据结构与算法(11)---Java语言实现:堆排序
- (数据结构与算法分析 三)------栈的实现(包括链栈和数组实现栈 Java语言描述)
- (数据结构与算法分析 四)------数组循环队列的实现( Java语言描述)
- (数据结构与算法分析 五)------二叉查找树的实现( Java语言描述)
- (数据结构与算法分析 六)------散列表的实现( Java语言描述)
- 数据结构与算法分析(Java语言描述)(30)—— 有权图的实现
- 数据结构与算法分析 C语言描述 单链表的实现
- python爬虫之pymysql库的使用(2)
- Java实习生在项目中遇到的问题
- Java实现验证码的制作
- android studio 汉化包 美化包
- Xamarin Studio
- 数据结构与算法(3)---Java语言实现:栈的单链表定义
- SQL优化之四两拨千金
- Tkinter之Event篇
- 浏览器兼容性总结以及处理
- IIS 部署遇到的问题记录
- Java Web学习总结49:简单模拟Sping MVC
- 用java调用R
- Oracle统计某一字段在不同值下的总数
- vs2010 下配置pcl cmake qt