登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:什么是堆栈?

点击:797 回复:8

请问堆栈放入的值是指什么?是不是等于STL中等号后面的逻辑块运算结果?
栈值是否只用状态0和1来表示?
15-07-04 08:24
同问,看教程搞不懂这东西
15-07-04 09:19
同问,我也来学习。
---------------------
百度得到的结果是下面一堆:
其实,严格来说,在数据结构中,堆和栈是两种不同的东西。
栈是一种【先入后出】的结构,用户只能操作位于栈最上面(栈顶)的数据。
相对的,队列是一种【先入先出】的结构。
而堆,是一种二叉树,常用的是最大或者最小堆,它的特性是,其根节点的值为整个堆的最大(最小)值。
15-07-04 10:16
看来这问题有很多人搞不懂啊,只有期待大神来回答了
15-07-04 11:52
比如成品流水线检测,先入的信息就先出,如果中间有一件不合格品,则任一位提出,清除此通道信息。
15-07-04 13:50
就是保存数据的一种特殊寄存器组。见过火车站售票口向后延伸的围栏吗?人员只能前后排队,如果有人从最前面的售票口处插队在他后面的所有人都要向后挪动一个位置,同样买完票的人离开后所有排队的人都要向前移动一个位置--这就是人栈。看看,多么的不公平,谁插队谁先走,老实人可能回不了家了。
15-07-04 14:48
比如建8楼住房,12345678每一层是建立在底下一层已建好的条件下的,结果是要拆掉,你只能从上往下拆,先挖墙脚会砸死人的。所以只能先入后出。栈值不是1就是0。0的后面对输出就木有意义了。就跟你拆了4楼,5678层也就不存在啦。
15-07-04 16:47
其实可以理解为把中间值暂时存在规定的地方。当然也不能无限制的存贮。
比如4*(3+2),就可能需要把3+2的值先保持在某一个地方,然后再取出来与4相乘.
15-07-04 22:13
一段程序很多的条件,有并联的也有并联后在串联的,后面又要并联条件,然后有个输出,那么,有些条件就必须先运算出来,暂时存放起来,等下一个或者几个运算结果出来后一起再来运算使用,这就是简单的堆栈,能理解么?
15-07-04 23:00

工控新闻

更多新闻资讯