回复:顺序队列出栈

Siemens_PLC编程精英训练营

西门子1847工业学习平台

  • 帖子

    1108
  • 精华

    0
  • 被关注

    15

论坛等级:侠圣

注册时间:2018-09-30

钻石 钻石 如何晋级?

发布于 2023-03-31 14:49:13

2楼

展开查看
以下是引用何优秀在2023-03-30 09:17:37的发言 >0楼

老师,在第三阶段的第一章的第一小节中,要求出栈元素为当前栈内数值最小的元素。这一段代码的实现逻辑不是很懂,老师能够仔细的讲解一下吗。

顺序队列.png


这一段程序代码的功能是 查找最小值 所在 数组中的索引号位置,先假定第一个元素,也就是位置0的元素,为最小值,然后依次比较所有元素,如果有更小的,就把更小的所在位置 作为最小值所在位置,从而最终获得最小元素所在位置。


咱们以实例来说明,假设堆栈数组有3个元素,#stack[0]=21,#stack[1]=63,#stack[2]=15,

那么程序开始执行:

执行第一行时,结果#statMin := 0;  

执行第二行时,因为if 的条件#statStackIndex>1 满足,所以接着执行for循环

  for一共循环2次

  第一次:#stack[1]不小于#stack[0],所以不执行#statMin := #tempCount

  第二次:#stack[2]小于#stack[0],所以执行#statMin := #tempCount,此时#tempCount=2,所以#statMin:=2

这样就找到了最小值所在的堆栈数组索引号#statMin=2

这里最小值是15,最小值所在索引号位置为2,与查找的结果是相符的


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1639条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。