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

栈和队列(选择题)

栈中元素个数的计算 

栈的存储结构可以分为顺序存储链式存储。顺序存储的栈称为顺序栈,链式存储的栈称为链栈

(1)顺序栈

顺序栈:利用一组地址连续的存储单元存放自栈底到栈顶的数据元素,同时

附设一个指针(top)指示当前栈顶位置。

栈空条件:顺序栈的数组下标如果从0开始,栈空的条件是top=-1

栈满条件:顺序栈的数组下标如果从0开始,栈满的条件是top=maxsize(栈的最大容量)-1

 

顺序栈的计算方法:如果bottom>=1,栈内的元素个数为|top-bottom|+1,如果bottom=top=0时,则表示栈空。(top表示栈顶指针,bottom表示栈底指针)

上溢:若顺序栈满栈时,再进行入栈操作,就会产生上溢。

下溢:若顺序栈栈空时,再进行出栈操作,就会产生下溢。

这道题的栈不同于一般的站我们一定要确定好栈底指针是啥。在利用公式求解。|20-50|+1=51。 

|1-30|+1=30 

设栈的顺序存储空间为S(1:m),初始状态为top=0.现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为(不可能)

设栈的顺序存储空间为S(1:m),初始状态为top=m+1.现经过一系列正常的入栈与退栈操作后,top=0,则栈中的元素个数为(不可能)

(2)链栈

链栈:采用链式存储的栈称为链栈。

某带链栈的初始状态为top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=10,bottom=20。该栈中的元素个数为(不确定)

链栈的优点是便于多个栈共享存储空间和提高其效率,并且链栈不存在栈满上溢的情况

循环对列元素个数的计算

(队尾-队首+容量)%容量或(rear-front+maxsize)%maxsize

n=(25-25+50)%50=0 

n=(25-25+50)%50+2=2,一定要看清楚有插入了两个元素。  

本质还是没有变,要求最坏次数就是求还有多少元素。


http://www.mrgr.cn/news/33255.html

相关文章:

  • Kafka一些常用的命令行操作【包含主题命令、生产者和消费者命令】
  • Python 正则表达式的一些介绍和使用方法说明(数字、字母和数字、电子邮件地址、网址、电话号码(简单)、IPv4 )
  • Leetcode:118. 杨辉三角——Java数学法求解
  • FASTLIO2建图学习笔记
  • 数字IC实践项目(10)—基于System Verilog的DDR4 Model/Tb 及基础Verification IP的设计与验证(付费项目)
  • 机器学习 - 为 Jupyter Notebook 安装新的 Kernel
  • 图像生成大模型Imagen
  • 探索微软Copilot Agents:如何通过Wave 2 AI彻底改变工作方式
  • C++学习笔记----7、使用类与对象获得高性能(二)---- 理解对象生命周期(7)
  • 数据结构--树和二叉树
  • java并发编程
  • 如何查看本机配置了哪些端口转发
  • 【alluxio编译报错】Some files do not have the expected license header
  • linux 的 sed 命令的 使用学习
  • API接口在金融科技领域的创新应用
  • 前后端跨域问题及其在ThinkPHP中的解决方案
  • 树及二叉树(选择题)
  • XML/HTML:深入解析与比较
  • 软考高级:数据库关系模式推理规则 AI 解读
  • 如何用JS实现退出登录?
  • [leetcode]62_不同路径
  • 【OSS安全最佳实践】对OSS表格文件中的敏感数据进行脱敏
  • Linux之实战命令03:stat应用实例(三十七)
  • 使命召唤游戏助手系统小程序的设计
  • ICM20948 DMP代码详解(36)
  • 基于Java springboot+mybatis 网上商城系统