赞
踩
上篇文章,我们已经完成链表的收尾工作,从本篇文章开始,将进入栈和队列的学习,j觉得小编写的还可以的可以留个关注支持一下~话不多说,上正文~
概念:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则
压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈:栈的删除操作叫做出栈。出数据在栈顶
我们还是借助图片来理解入栈和出栈
入栈
出栈
通过上面的图片,想必大家对栈已经有了一个基本的认识,接下来,我们要进行栈的创建和使用
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);
- }
运行截图
其实,栈的底层依旧是一个数组,如图
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];
- }
- }
到此为止,我们的模拟栈的实现就已经完成了,下一篇文章将会对栈进行增删查改,敬请期待叭~
觉得小编写的还可以的可以留个关注支持一下~
谢谢观看~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。