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

server/2024/10/18 14:18:18/

  上篇文章,我们已经完成链表的收尾工作,从本篇文章开始,将进入栈和队列的学习,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()); // 获取栈中有效元素个数---> 2boolean 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];}
}

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

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

谢谢观看~ 


http://www.ppmy.cn/server/41182.html

相关文章

(接上一篇linux rocky 搭建DNS高阶版)实现不同网段访问解析不同的服务器并加域

上一篇链接&#xff1a;linux rocky 搭建DNS服务和禁止AD域控DNS&#xff0c;做到独立DNS并加域-CSDN博客文章浏览阅读417次&#xff0c;点赞13次&#xff0c;收藏7次。使用linux rocky 搭建DNS服务&#xff0c;用于独立AD域控DNS存在&#xff0c;并且实现加域。https://blog.c…

虹科Pico汽车示波器 | 免拆诊断案例 | 2010款凯迪拉克SRX车发动机无法起动

故障现象 一辆2010款凯迪拉克SRX车&#xff0c;搭载LF1发动机&#xff0c;累计行驶里程约为14.3万km。该车因正时链条断裂导致气门顶弯&#xff0c;大修发动机后试车&#xff0c;起动机运转有力&#xff0c;但发动机没有着机迹象&#xff1b;多起动几次&#xff0c;火花塞会变…

Redis详解(二)

事务 什么是事务&#xff1f; 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作&#xff1a;事务中的命令要么全部被执行&#xff0c;要么全部都…

ruoyi-nbcio 基于flowable规则的多重并发网关的任意跳转

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

组合商标申请如何风控提高通过率!

最近一个老客户找到普推知产老杨&#xff0c;说要申请注册一个新的商标&#xff0c;是一个组合商标&#xff0c;有图形&#xff0c;两行文字&#xff0c;一行文字的拼音&#xff0c;还有三个字母的简称&#xff0c;组合商标在申请时会进行拆分审查&#xff0c;图形、文字、拼音…

一本专业130+总分400+上海交通大学819考研经验上交电子信息与通信工程上岸,真题,大纲,参考书。

今年专业课819信号系统与信号处理130&#xff0c;总分400&#xff0c;复试表现中规中矩&#xff08;初试分数查到才开始复习复试&#xff0c;希望大家汲取教训&#xff0c;初试考完就可以录取开始准备复试&#xff09;&#xff0c;交大初试比重很高&#xff0c;良心学校&#x…

【数据结构陈越版笔记】第1章 概述【习题】

1. 碎碎念 我这答案做的可能不对&#xff0c;如果不对&#xff0c;欢迎大家指出错误 2. 答案 1.1 判断正误 &#xff08;1&#xff09; N ( log N ) 2 N(\text{log}N)^{2} N(logN)2是 O ( N 2 ) O(N^{2}) O(N2)的。 &#xff08;2&#xff09; N 2 ( log N ) 2 N^{2}(\text…

分布式模式让业务更高效、更安全、更稳定

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#x1f525;&#xff1a;探索设计模式的魅力&#xff1a;分布式模…