当前位置: 首页 > news >正文

队列和栈学习

队列的结构讲解

队列只允许从尾部加入元素,从头部删去元素(是一个先进先出的数据结构)

它的指针指向一般是左闭右开式(head指向首个数据,tail指向待插入数据的位置)

队列的结构定义图

出队操作:head向后移动一个指针

入队操作:待插入元素插入tail指针指向的位置,tail向后移动一位

队列的假溢出:

尾指针虽然越界,但是队列中数据的实际数量并没有超过队列的上限

假溢出表示

=》因此,提出了循环队列,当count<size时,tail指向0位置

栈的结构讲解

单头进,单头出(先进后出)--方法的调用可以可此处关联

栈的结构

出栈:top指针向下移动一位

入栈:top指针向上移动一位,将数据插入进来

代码展示

这只是博主写做练习的

package Stack; public class Stack<T> implements mystack<T>{ /** * 注意此处,栈在一开始没有数据,所以top=-1 */ private int top = -1; private T[] element; int size = 0; //创建栈 public Stack(int length){ element = (T[])new Object[length]; size = length; } //入栈 @Override public void push(T x) { if(top==size-1){ System.out.println("栈已满"); return; } element[++top] = x; } @Override public void pop() { if(top>=0){ top--; }else { System.out.println("栈为空"); } } @Override public T top() { return element[top]; } }

java中自带的:

//应该是双端队列(即两边都可以进行数据的插入和删除)

package Stack; import java.util.ArrayDeque; import java.util.Deque; public class test { public static void main(String[] args) { Deque deque = new ArrayDeque(); //java中实现栈的最佳选择 deque.push(1); deque.push(2); deque.peek() ;//获取第一个元素 } }
http://www.gsyq.cn/news/1619348.html

相关文章:

  • CPT Markets:从外汇行业合规表达切入的逻辑复盘
  • 海外仓收管发盘(四):6大出库环节WMS标准化落地教程
  • Synchronous Audio Router:Windows音频路由的同步架构与低延迟实现
  • Python爬虫经典案例031:天气数据爬取:气象数据采集实战
  • 60 TOPS NPU工业AI部署实战:分得利光选机
  • 踩坑总结:Spring @Transactional 事务注解的这几个坑,你踩过几个?
  • MeEdu开源教育系统:如何构建多云协同的视频点播架构
  • KeyStore Explorer:为什么Java开发者需要告别keytool命令行的五个理由
  • 终极隐私保护神器:Boss-Key老板键一键隐藏Windows窗口完整指南
  • 计算机毕业设计之河北经贸大学毕业生就业跟踪系统
  • 如何在Windows和Mac电脑上录制特定窗口
  • 铜钟音乐:5分钟掌握纯净无干扰的免费听歌平台终极指南
  • KMX63与PIC18F87J10实现低成本自然交互方案
  • Redis 连接失败对网站的影响:何时该先测网络再查缓存
  • 从工具到思维:2025年,AI模型如何重写产业规则?
  • 3步搞定视频下载难题:Parabolic让你的下载体验焕然一新
  • 我说MySQL每张表最好不超过2000万条数据,面试官让我回去等通知?
  • AI大模型到底改变了什么?这5个真相你必须知道
  • 无人机航拍垃圾识别数据集与模型训练实战
  • 基于LENA-R8与STM32的全球物联网高精度定位方案
  • 3.0 java中继承中的super作用
  • 深海定点监测如何选稳定单点海流计?偶信产品适配复杂海域工况吗?
  • Ubuntu系统Postgres SQL数据库迁移
  • 3步掌握Parabolic视频下载器:免费开源跨平台下载解决方案完全指南
  • VSCode 多项目协同开发:AI编程工具工作区管理的 4 种高效配置方案
  • 西安养老预约小程序搭建,家属实时查看功能开发实操
  • 大模型微调实战:解决过拟合与收敛慢的优化策略
  • 终极指南:如何用GTA5线上小助手提升你的游戏体验
  • CSDN博客下载器终极指南:三步永久保存技术文章
  • 初识C语言——lesson002与003