package LinkList;// 使用双链表 定义栈的基本操作
public class StackByDoubleLink extends DoubleLinkList { // 栈继承自双链表//    DoubleNode head = null;// 双链表压栈操作 --- 向双链表插入一个元素public void push(int a){HeadInsertLinkList(a); // 返回压栈后的链表}// 双链表出栈操作 --- 从双链表表头取一个元素public int pop(){int a = HeadDeleteLinkList();if(a != -1){System.out.println("出栈:" + a);}return a;}public void printStack(){System.out.println("打印栈中元素");System.out.println("  栈顶");HeadPrintDoubleLinkList();System.out.println("  栈底");}public static void main(String[] args) {StackByDoubleLink stack = new StackByDoubleLink();stack.push(3);stack.push(4);stack.push(5);stack.push(6);stack.push(7);stack.printStack();System.out.println();stack.pop();stack.pop();stack.pop();stack.pop();stack.pop();stack.pop();stack.pop();}
}
打印栈中元素栈顶
|  7  |
|  6  |
|  5  |
|  4  |
|  3  | 栈底出栈:7
出栈:6
出栈:5
出栈:4
出栈:3
空!不能进行该操作!
空!不能进行该操作!

Java数据结构之用双向链表实现栈的入栈和出栈操作相关推荐

  1. Java之根据入栈顺序是否能得到出栈顺序

    入栈.出栈顺序匹配 前言 一.Java入栈.出栈 1.例题 二.题解 A.纯正的模拟 B.LinkedHashSet C.利用CPU 总结 参考文献 前言 给出入栈顺序,匹配一个出栈顺序是否合法,即出 ...

  2. 数据结构实验之栈与队列七:出栈序列判定

    Description 给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次.输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序 ...

  3. 大话数据结构第四章栈的基本概念与出栈入栈操作

    一.栈的顺序存储结构 1.基本概念 栈顶就是表尾. 栈顶是栈插入和删除的地方. 栈就是只允许在表尾进行添加或删除,是顺序存储结构线性表的特例或者说简化. 为什么说是简化呢?相对于顺序存储结构来说栈只允 ...

  4. 详解+G - 数据结构实验之栈与队列七:出栈序列判定

    理解: 出入栈规律之一,如果前面有一个比较大的数,后面有连续的递增顺序,递增顺序>=2个小于前面比较大的数,那么此出栈顺序不可能实现.比如4,1,2,3,5. 思路:输入一个数,然后不断按照顺序 ...

  5. 栈 - 关于出栈序列,判断合法的出栈序列

    文章目录 1 引例 2 做题方法 3 原因 3.1 选项D(4 3 1 2)的模拟 1 引例 (例)设栈的入栈序列是 1 2 3 4,则下列不可能是其出栈序列的是( ). A. 1 2 4 3 B. ...

  6. 1.栈的压栈(入栈、进栈)及出栈 2.顺序表及链表的缓存命中

    一.栈的压栈(入栈.进栈)及出栈 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作.进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底.栈中的数据元素 ...

  7. ABCDE-入栈,不可能的出栈次序

    ABCDE 入栈,不可能的出栈次序是? 实际上最简单的办法是用笔记录一下 比如验证CDEBA的顺序可不可能,那么C先出栈于是栈应该是 C (先压入3,再弹出4) B (压入2) A (压入1) 然后弹 ...

  8. 已知入栈顺序求所有的出栈顺序已知出栈顺序求所有的入栈顺序

    一.已知入栈顺序求所有的出栈顺序 已知入栈顺序是{1,2,3,4,5},求所有的出栈顺序? 我的思路: 既然入栈顺序固定,我觉得可以使用递归来做. 先定义一个函数,比如说叫做help. //伪代码 v ...

  9. 简单实现顺序表示的栈与队列的进栈出栈创空栈入队出队创空队等算法

    栈和队列是两种最重要的数据结构,也是两种最典型的抽象数据类型,应用非常的广泛. 目录 一.栈 一.空栈的创建 二.进栈 三.出栈 二.队列 一.创建空队列 二.队列的入队和出队 三.取队列头元素 一. ...

最新文章

  1. curl调用WEB API
  2. Java获取数据库表的字段信息,及如何将ResultSet转为json
  3. 【学习】009 NIO编程
  4. 结构体struct timeval 和 struct timespec的定义
  5. MongoDB学习笔记lt;四gt;
  6. 浅谈数据中心集成的优势
  7. vim trick之 vimrc更改立即生效
  8. 一位 CEO 在战略沟通会上的员工问答实录
  9. qt中的qwidget如何实现自定义部件_2.3信号和槽(中)
  10. drupal php filter,Drupal A-Z and number filter
  11. EV录屏怎么实现选区录屏
  12. 5个最佳开源环境电子邮件客户端
  13. SQLserver基础--语句、存储过程(七)
  14. 【机器学习入门系列】第二章 探索性分析
  15. 如何通过BIOS设置自动开机
  16. 篱笆家装宝典之六——地板板材
  17. 鸿蒙系统网络连接设置ip,网络ip地址错误解决方法
  18. 情景剧《重走长征路》上演
  19. python学了真的很有用吗-你还在盲目跟风学Python?你真的了解吗?某华大学教授有话要说...
  20. 『每周译Go』Go 语言中的插件

热门文章

  1. 硬件中断和软件中断的区别
  2. 对SEO网站优化使用技巧的总结
  3. 突发:杭州一员工因离职纠纷把公司炸了!
  4. html5刮奖效果,HTML5 Canvas实战之刮奖效果
  5. GeoToolFx工具类,使用JavaFx编写
  6. 学位证和毕业证编号查询
  7. python+django+vue二手车信息网站flask
  8. 网吧会员消费管理(ASP.NET,SQLServer)
  9. python和ui设计_程序员,UI设计师,你们在哪里
  10. 用Multisim分析二阶低通滤波器电路