JAVA 100道题(14)

14.编写一个程序,使用LinkedList实现一个简单的堆栈(Stack)数据结构。

堆栈(Stack)是一种遵循后进先出(LIFO,Last In First Out)原则的数据结构。下面是一个使用Java的LinkedList类来实现堆栈的简单示例:

 

java复制代码

import java.util.LinkedList;
public class Stack<T> {
private LinkedList<T> list;
public Stack() {
list = new LinkedList<>();
}
// 入栈操作
public void push(T item) {
list.addFirst(item);
}
// 出栈操作
public T pop() {
if (isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return list.removeFirst();
}
// 查看栈顶元素
public T peek() {
if (isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return list.getFirst();
}
// 检查栈是否为空
public boolean isEmpty() {
return list.isEmpty();
}
// 获取栈的大小
public int size() {
return list.size();
}
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
// 入栈操作
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println("Stack size: " + stack.size());
// 查看栈顶元素
System.out.println("Top element: " + stack.peek());
// 出栈操作
System.out.println("Popped element: " + stack.pop());
System.out.println("Stack size after pop: " + stack.size());
}
}

在这个程序中,我们定义了一个泛型类Stack<T>,它使用LinkedList作为内部存储结构。push方法用于将元素添加到栈顶,pop方法用于从栈顶移除并返回元素,peek方法用于查看栈顶元素但不移除它,isEmpty方法用于检查栈是否为空,size方法用于获取栈的大小。

main方法中,我们创建了一个Stack<Integer>对象,并进行了入栈、查看栈顶元素和出栈操作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值