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