Java:如何用链表实现栈

本文介绍了一个使用Java泛型实现的栈数据结构。包括基本的栈操作:判断栈是否为空、压栈、弹栈及查看栈顶元素。通过简单的Node类来实现链表结构,进而完成栈的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class Node<E>{
	Node<E> next=null;
	E data;
	public Node(E data) {
		this.data=data;
	}
}
public class Mystack<E> {
	Node<E> top=null;//栈顶
	//isEmpty(),测试堆栈是否为空。
	public boolean isEmpty() {
		return top==null;
	}
	//push()入栈
	public void push(E data) {
		Node<E> newNode=new Node(data);
		newNode.next=top;
		top=newNode;
	}
	//pop()出栈, 移除堆栈顶部的对象,并作为此函数的值返回该对象。
	public E pop() {
		if(this.isEmpty()) {
			return null;
		}
		E tem=top.data;
		top=top.next;
		return tem;
	}
	//peek()查看堆栈顶部的对象,但不从堆栈中移除它。
	public E peek() {
		if(isEmpty()) {
			return null;
		}
		return top.data;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值