java实现入栈和输出栈顶元素_Java数据结构与算法分析 | 栈

本文介绍了Java中栈的数据结构及其基本操作,包括入栈(push)和出栈(pop)。通过示例代码展示了如何使用数组实现栈,并给出了一个检查括号平衡的栈应用案例。
摘要由CSDN通过智能技术生成

GitHub源码分享

项目主页:https://github.com/gozhuyinglong/blog-demos

本文源码:https://github.com/gozhuyinglong/blog-demos/tree/main/java-data-structures

1. 栈(Stack)

栈又叫堆栈,是一种运算受限制的线性表,限定只能在一端进行插入和删除操作,该端称为栈顶(Top),相对的另一端叫栈底(Bottom)。

根据栈的定义可知,最先进入栈的元素在栈底,最后进入栈的元素在栈顶。而删除元素刚好相反,即删除顺序从栈顶到栈底

对栈的操作只有两种:

入栈(push):又叫进栈或压栈,即向栈插入一条新的元素,该元素为新的栈顶元素。

出栈(pop):又叫退栈,即从栈顶删除(取出)最后入栈的元素,而其相邻元素成为新的栈顶元素。

1460000038284786

栈是一个先进后出(FILO – First In Last Out)的有序列表。在上图中描述了栈的模型,我们对栈的操作只有push和pop,栈顶元素是该栈唯一可见的元素。

2. 代码实现

由于栈是一个表,因此任何实现表的方法都能实现栈。显然我们之前用到的《 数组 》和《 链表 》都可以实现栈。下面代码是使用数组实现的一个栈。

size表示栈内元素的大小,栈顶元素为 elementData[size – 1],栈底元素为 elementData[0]。入栈时执行 size++,出站时执行 size–

public class StackDemo {

public static void main(String[] args) {

System.out.println("-------------------入站");

Stack stack = new Stack<>(10);

stack.push("a");

stack.push("b");

stack.push("c");

stack.push("d");

stack.push("e");</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值