当前位置:   article > 正文

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

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

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

1.栈

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

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

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

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

入栈

出栈 

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

2.栈的创建和使用

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

2.创建对象,代码如下

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

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

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

  1. public static void main(String[] args) {
  2. Stack<Integer> stack = new Stack<>();
  3. stack.push(12);
  4. stack.push(23);
  5. stack.push(34);
  6. Integer x = stack.pop();
  7. System.out.println(x);
  8. System.out.println(stack.size()); // 获取栈中有效元素个数---> 2
  9. boolean ret = stack.empty();
  10. System.out.println(ret);
  11. }

运行截图 

 

3.模拟栈的实现

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

1.定义一个类Mystack 

2.定义成员属性

3.设置默认长度

4.提供构造方法

代码如下

  1. public class MyStack {
  2. private int elem[];
  3. private int usedSize;
  4. private static final int DEFAULT_CAPACITY = 10;
  5. public MyStack(){
  6. this.elem = new int[DEFAULT_CAPACITY];
  7. }
  8. }

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

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

谢谢观看~ 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/567917
推荐阅读
相关标签
  

闽ICP备14008679号