【java-数据结构-栈和队列】

  上篇文章,我们已经完成链表的收尾工作,从本篇文章开始,将进入栈和队列的学习,j觉得小编写的还可以的可以留个关注支持一下~话不多说,上正文~

1.栈

概念:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则

压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。

出栈:栈的删除操作叫做出栈。出数据在栈顶

我们还是借助图片来理解入栈和出栈

入栈

出栈 

 通过上面的图片,想必大家对栈已经有了一个基本的认识,接下来,我们要进行栈的创建和使用

2.栈的创建和使用

1.导入类: mport java.util.Stack;

2.创建对象,代码如下

 public static void main(String[] args) {
            Stack<Integer> stack  =new Stack<>();
           
        }

此时,我们栈就已成创建完毕了,接下来,我们将会介绍stack类中的一些方法,

由于这几个方法比较简简单,所以我们进行集中演示

 public static void main(String[] args) {
            Stack<Integer> stack = new Stack<>();
            stack.push(12);
            stack.push(23);
            stack.push(34);

            Integer x = stack.pop();
            System.out.println(x);
            System.out.println(stack.size()); // 获取栈中有效元素个数---> 2

           boolean ret =  stack.empty();
            System.out.println(ret);
        }

运行截图 

 

3.模拟栈的实现

其实,栈的底层依旧是一个数组,如图

1.定义一个类Mystack 

2.定义成员属性

3.设置默认长度

4.提供构造方法

代码如下

public class MyStack {
    private int elem[];
    private int usedSize;
    private static final int DEFAULT_CAPACITY = 10;
    public MyStack(){
        this.elem = new int[DEFAULT_CAPACITY];
    }
}

到此为止,我们的模拟栈的实现就已经完成了,下一篇文章将会对栈进行增删查改,敬请期待叭~ 

觉得小编写的还可以的可以留个关注支持一下~

谢谢观看~ 

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值