本文的代码来自于《数据结构与算法(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的链接栈实现相关推荐

  1. 数据结构之基于Java的链接列表实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 双链表实现结构图 publ ...

  2. 数据结构之基于Java的顺序栈实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  3. 数据结构之基于Java的链接队列实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  4. 数据结构之基于Java的二叉树实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  5. 数据结构之基于Java的顺序列表实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. public class ...

  6. 数据结构之基于Java的顺序队列实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. 重点理解通过取余运算将线性 ...

  7. 数据结构之基于Java的最优二叉树实现

    本文的代码来自于<数据结构与算法(JAVA语言版)>,是笔者在网上找到的资料,非正式出刊版物.笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论. import dsa.ad ...

  8. 【数据结构】栈:Java实现顺序栈栈应用浅析

    1.栈是什么 定义:后进者先出,先进者后出,这就是典型的"栈"结构 操作特性:栈是一种"操作受限"的线性表,只允许在一端插入和删除数据. 使用场景:当某个数据集 ...

  9. 基于java的数据结构学习——数组实现的栈以及简单应用C++实现

    基于java的数据结构学习--数组实现的栈以及简单应用的 C++ 实现 源码: // // Created by PC-Saw on 2019/1/3. //#ifndef DATA_STRUCTUR ...

最新文章

  1. Install 802.1x In Fedora
  2. ios kvo 要引入_iOS中KVO的使用
  3. yjv是电缆还是电线_电力电缆载流量,都说有这一份最新汇总就够了
  4. python函数调用的三种方式_python函数调用的四种方式
  5. 成功演示六要素之二——意外
  6. 【兼容写法】HttpServerUtility.Execute 在等待异步操作完成时被阻止。关键词:MVC,分部视图,异步...
  7. 100万个脑筋急转弯,猜死你
  8. C++ 解析pcap文件
  9. CodeSmith激活教程
  10. swap分区,lvm的管理及计划任务
  11. 办公室远程 办公室远程,我看这四款行
  12. cout 常用成员函数简介(C++输出格式控制)
  13. OOAD 3 迭代、进化和敏捷(Iterative,Evolutionary,and Agile)
  14. 虚拟机恢复初始化设置
  15. pl2303hxa串口线驱动_MAX232和PL2303_CH340的区别
  16. Java程序员笨鸟前行之路(一) 开发环境搭建
  17. Ubuntu 安装 Gif 工具 -- Peek
  18. 山东中职计算机专业考本科,山东省教育厅下通知:中职生今后不能再考本科
  19. Nreal眼镜的开发与部署(三)
  20. 洛谷 [NOIP1999 普及组] 回文数

热门文章

  1. 微课|中学生可以这样学Python(7.4节):属性
  2. Python花式编程案例集锦(8):判断吉祥数字
  3. Python使用UDP广播实现服务器自动发现
  4. Python监视用户计算机桌面窗口焦点的变化情况
  5. C++ 面向对象程序三大特性之 继承
  6. 计算机分级无法度量视频,雨林木风win7旗舰版电脑评分时出现无法度量视频播放性能...
  7. 斜面孔如何绘制_如何才能做好钢结构厂房基础设计
  8. C++之初始化列表的一个笔记
  9. python编码转换规范_Python转载[编码规范]
  10. ieda中快捷搜索_快捷指令(07)早上好(三)播报当日日程安排。