【数据结构】栈的模拟和使用理解

栈(Stack)

栈的概念

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作.
进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,遵守先进后出,后进先出的原则

压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶
出栈:栈的删除操作叫做出栈。出数据在栈顶
在这里插入图片描述
在集合框架中,Stack的继承实现关系如下:
在这里插入图片描述从上图中可以看到,Stack继承了Vector,Vector和ArrayList类似,都是动态的顺序表
不同的是Vector类,是线程安全的动态数组,但是性能较差 , 现在已经不是很常用了 , 可以说已经过时了

栈的使用

方法 解释
Stack() 构造一个空的栈
E push(E e) 将e入栈,并返回e
E pop() 将栈顶元素出栈并返回
E peek() 获取栈顶元素
int size() 获取栈中有效元素个数
boolean empty() 检测栈是否为空
public static void main(String[] args) {
   
        Stack<Integer> stack = new Stack<>();//创建一个栈
        stack.push(1);//添加一个元素到栈中
        stack.push(2);
        stack.push(3);
        stack.push(4);
        System.out.println("当前元素有:"+ stack.size());
        System.out.println(stack);

        int x = stack.pop();//取出栈顶的元素返回
        System.out.println(x);
        System.out.println("当前元素有:"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值