数据结构之基于Java的链接栈实现
本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。
public class StackSLinked implements Stack {private SLNode top; //链表首结点引用private int size; //栈的大小public StackSLinked() {top = null;size = 0;}//返回堆栈的大小public int getSize() {return size;}//判断堆栈是否为空public boolean isEmpty() {return size==0;}//数据元素e入栈public void push(Object e) {SLNode q = new SLNode(e,top);top = q;size++;}//栈顶元素出栈public Object pop() throws StackEmptyException {if (size<1)throw new StackEmptyException("错误,堆栈为空。");Object obj = top.getData();top = top.getNext();size--;return obj;}//取栈顶元素public Object peek() throws StackEmptyException {if (size<1)throw new StackEmptyException("错误,堆栈为空。");return top.getData();}
}
public interface Stack {//返回堆栈的大小public int getSize();//判断堆栈是否为空public boolean isEmpty();//数据元素e入栈public void push(Object e);//栈顶元素出栈public Object pop() throws StackEmptyException;//取栈顶元素public Object peek() throws StackEmptyException;
}
//堆栈为空时出栈或取栈顶元素抛出此异常
public class StackEmptyException extends RuntimeException{public StackEmptyException(String err) {super(err);}
}
数据结构之基于Java的链接栈实现相关推荐
- 数据结构之基于Java的链接列表实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 双链表实现结构图 publ ...
- 数据结构之基于Java的顺序栈实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的链接队列实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的二叉树实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的顺序列表实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...
- 数据结构之基于Java的顺序队列实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 重点理解通过取余运算将线性 ...
- 数据结构之基于Java的最优二叉树实现
本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. import dsa.ad ...
- 【数据结构】栈:Java实现顺序栈栈应用浅析
1.栈是什么 定义:后进者先出,先进者后出,这就是典型的"栈"结构 操作特性:栈是一种"操作受限"的线性表,只允许在一端插入和删除数据. 使用场景:当某个数据集 ...
- 基于java的数据结构学习——数组实现的栈以及简单应用C++实现
基于java的数据结构学习--数组实现的栈以及简单应用的 C++ 实现 源码: // // Created by PC-Saw on 2019/1/3. //#ifndef DATA_STRUCTUR ...
最新文章
- Install 802.1x In Fedora
- ios kvo 要引入_iOS中KVO的使用
- yjv是电缆还是电线_电力电缆载流量,都说有这一份最新汇总就够了
- python函数调用的三种方式_python函数调用的四种方式
- 成功演示六要素之二——意外
- 【兼容写法】HttpServerUtility.Execute 在等待异步操作完成时被阻止。关键词:MVC,分部视图,异步...
- 100万个脑筋急转弯,猜死你
- C++ 解析pcap文件
- CodeSmith激活教程
- swap分区,lvm的管理及计划任务
- 办公室远程 办公室远程,我看这四款行
- cout 常用成员函数简介(C++输出格式控制)
- OOAD 3 迭代、进化和敏捷(Iterative,Evolutionary,and Agile)
- 虚拟机恢复初始化设置
- pl2303hxa串口线驱动_MAX232和PL2303_CH340的区别
- Java程序员笨鸟前行之路(一) 开发环境搭建
- Ubuntu 安装 Gif 工具 -- Peek
- 山东中职计算机专业考本科,山东省教育厅下通知:中职生今后不能再考本科
- Nreal眼镜的开发与部署(三)
- 洛谷 [NOIP1999 普及组] 回文数
热门文章
- 微课|中学生可以这样学Python(7.4节):属性
- Python花式编程案例集锦(8):判断吉祥数字
- Python使用UDP广播实现服务器自动发现
- Python监视用户计算机桌面窗口焦点的变化情况
- C++ 面向对象程序三大特性之 继承
- 计算机分级无法度量视频,雨林木风win7旗舰版电脑评分时出现无法度量视频播放性能...
- 斜面孔如何绘制_如何才能做好钢结构厂房基础设计
- C++之初始化列表的一个笔记
- python编码转换规范_Python转载[编码规范]
- ieda中快捷搜索_快捷指令(07)早上好(三)播报当日日程安排。