JAVA 100道题(14)

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

下面是一个简单的Java程序,使用LinkedList来实现一个堆栈(Stack)数据结构。在这个程序中,我们定义了一个MyStack类,它包含了一些基本的堆栈操作,如push(压栈)、pop(出栈)、peek(查看栈顶元素)和isEmpty(检查堆栈是否为空)。

 

java复制代码

import java.util.LinkedList;
public class MyStack<T> {
private LinkedList<T> stack;
public MyStack() {
this.stack = new LinkedList<>();
}
// 压栈操作
public void push(T item) {
stack.addFirst(item);
}
// 出栈操作
public T pop() {
if (!isEmpty()) {
return stack.removeFirst();
} else {
throw new RuntimeException("Stack is empty");
}
}
// 查看栈顶元素
public T peek() {
if (!isEmpty()) {
return stack.getFirst();
} else {
throw new RuntimeException("Stack is empty");
}
}
// 检查堆栈是否为空
public boolean isEmpty() {
return stack.isEmpty();
}
// 打印堆栈内容
public void printStack() {
System.out.println(stack);
}
public static void main(String[] args) {
MyStack<Integer> stack = new MyStack<>();
// 压栈操作
stack.push(1);
stack.push(2);
stack.push(3);
// 打印堆栈内容
stack.printStack();
// 查看栈顶元素
System.out.println("Top element: " + stack.peek());
// 出栈操作
stack.pop();
// 打印堆栈内容
stack.printStack();
// 检查堆栈是否为空
System.out.println("Is stack empty? " + stack.isEmpty());
}
}

在这个程序中,我们创建了一个MyStack类,并使用LinkedListaddFirst方法来实现压栈操作,removeFirst方法来实现出栈操作,getFirst方法来实现查看栈顶元素的操作。在main方法中,我们创建了一个MyStack对象,并进行了一些基本的堆栈操作,包括压栈、查看栈顶元素、出栈和检查堆栈是否为空。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值