class LinkedStack<T> {
private Node top;
private int size; /**
* 初始化栈
*/
public LinkedStack() {
top = null;
size = 0;
} /**
* 判断栈是否为空
*
* @return
*/
public boolean isEmpty() {
return size == 0;
} /**
* 清空栈元素
*/
public void clear() {
top = null;
size = 0;
} /**
* 获取栈的大小
*
* @return
*/
public int length() {
return size;
} /**
* 将一个数据入栈
*
* @param data
* @return
*/
public boolean push(T data) {
Node node = new Node(data);
node.pre = top;
top = node;
size++;
return true;
} /**
* 将数据出栈,并删除
*
* @return
*/
public T pop() {
if (top != null) {
Node node = top;
top = top.pre;
size--;
return node.data;
}
return null;
} /**
* 获取栈顶元素,但不删除该栈元素数据
*
* @return
*/
public T peek() {
if (top != null) {
return top.data;
}
return null;
} /**
* 节点类
*
* @author John
*
*/
private class Node {
Node pre;
T data; public Node(T data) {
this.data = data;
}
}
}

最新文章

  1. SQL 性能调优中可参考的几类Lock Wait
  2. mybatis中 ${}和#取值小记(Parameter index out of range)
  3. Ubuntu SVN客户端安装
  4. Tail-chaining(末尾连锁)中断说明
  5. 树莓PI交叉编译BOOST库(asio网络例子)
  6. Git 初始化配置
  7. 关于php析构函数__destruct()的问题
  8. 字符串解析成easyui-tree的格式
  9. ipython及Python初体验
  10. Python帮助
  11. MySQL面试题中:主从同步的原理
  12. 面试linux运维一定会问到Shell脚本这24个问题
  13. linux 安装ssh以及ssh用法与免密登录
  14. Python使用MySQL数据库【转】
  15. Ubuntu/Debian apt-get 404 Not Found Package Repository Errors,无法找到包的错误
  16. UVA10294 Arif in Dhaka (First Love Part 2)
  17. django-chunks文件
  18. 使用python做简单的接口性能测试
  19. 并发集合 System.Collections.Concurrent 命名空间
  20. 微信群的id

热门文章

  1. [Firewall] iptables Configuration
  2. C语言 入门程序
  3. C#基础 课堂笔记 下
  4. Android 开发者,如何提升自己的职场竞争力?
  5. 切诺夫界证明(Chernoff bound)
  6. 第一章 [分布式CMS]
  7. Java Spring的简单见解
  8. 第2阶段——编写uboot之硬件初始化和制作链接脚本lds(1)
  9. React Native底|顶部导航使用小技巧
  10. Netty自娱自乐之类Dubbo RPC 框架设计构想 【上篇】