package com.rao.linkList;

/**
* @author Srao
* @className LinkedStack
* @date 2019/12/3 13:59
* @package com.rao.linkList
* @Description 基于链表的栈
*/
public class LinkedStack { /**
* 定义节点
*/
static class Node{
private String data;
private Node next; public Node(String data) {
this.data = data;
this.next = null;
} public String getData() {
return data;
}
} //栈顶元素
private Node top; /**
* 入栈
* @param s
*/
public void push(String s){
Node node = new Node(s);
if (top == null){
top = node;
}else {
node.next = top;
top = node;
}
} /**
* 出栈
* @return
*/
public Node pop(){
Node node = null;
if (top.next != null){
node = top;
top = top.next;
}else {
node = top;
top = null;
}
return node;
} public static void main(String[] args) {
LinkedStack linkedStack = new LinkedStack();
linkedStack.push("aa");
linkedStack.push("11");
linkedStack.push("@@");
System.out.println(linkedStack.top.getData());
System.out.println(linkedStack.pop().getData());
System.out.println(linkedStack.pop().getData());
System.out.println(linkedStack.pop().getData());
}
}

基于链表的栈和基于数组的栈不同,基于链表的栈必须自己定义节点,而基于数组的栈由数组作为节点,对于节点的定义可以使用内部类来实现,每新建一个类的实例都是新建一个新的节点

最新文章

  1. T-SQL:毕业生出门需知系列(四)
  2. git学习4:分支管理
  3. CentOS-6.5安装配置Tomcat7
  4. MyEclipse8.5集成Tomcat7时的启动错误:Exception in thread “main” java.lang.NoClassDefFoundError org/apache/commons/logging/LogFactory
  5. bzoj2259
  6. hashtable 和dictionary
  7. "ScrollView can host only one direct child"问题解决了
  8. Python笔记2.1
  9. 学习Python不得不关注和学习的国外大神博客
  10. 基于FPGA的腐蚀膨胀算法实现
  11. [BZOJ1058][ZJOJ2007]报表统计
  12. IntelliJ IDEA安装scala插件并创建scala示例
  13. 安装pipenv
  14. Android中监控home键
  15. visual studio 和 sql server 的激活密钥序列号
  16. python 全栈开发,Day85(Git补充,随机生成图片验证码)
  17. 【大数据系列】hadoop集群设置官方文档翻译
  18. Haskell语言学习笔记(67)Gtk2Hs
  19. JavaScript 学习(一)
  20. [k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

热门文章

  1. windows版mysql安装
  2. springmvc接收参数为日期类型
  3. QT之类型转换
  4. 上传文件大小与时间 Web.Config文件 httpRuntime 限制
  5. C#中字符串转换为计算公式
  6. 一.B/S架构和C/S架构
  7. Beego 学习笔记一:环境的配置
  8. OpenFire后台插件上传获取webshell及免密码登录linux服务器
  9. SSM相关知识梳理面试
  10. Nginx学习(一)