栈的定义
栈是一种数据结构,它是一种受限制的线性表,只能在一端添加或删除元素,具有特定的操作规则。栈的特点是先进后出(LIFO,Last In First Out),即最后入栈的元素最先出栈,而最先入栈的元素最后出栈
栈只能在一端删除或者添加元素,这一端称为栈顶
另外一端称为栈底
生活中类似的栈结构
-
在超市购物时,将购买的商品放入购物篮或购物车中,形成一层一层的堆叠,就像是在组织一个临时的栈结构。
-
在餐厅用餐时,将盘子一层一层地叠放在餐桌上,然后按照用餐的顺序依次清理,就像是在处理一个栈结构。
-
在电脑中,浏览器的后退按钮就是一个栈结构,每次点击后退按钮就会返回上一个浏览页面,就像是在操作一个栈结构。
栈的使用:
java已经给我们提供了实现类 Stack
-
empty(): 这个方法通常用于检查栈是否为空。
-
peek(): 返回栈顶的元素但不移除它。
-
pop(): 移除并返回栈顶的元素。
-
push(element): 将指定的元素压入栈顶。
-
search(element): 在栈中搜索指定的元素并返回其位置,其中最顶部的元素位置为1。
代码示例
package stack;
import java.util.Stack;
public class test {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>();
// 将元素压入栈
stack.push(5);
stack.push(10);
stack.push(15);
// 查看栈顶元素
System.out.println("栈顶元素: " +