我已经将堆栈作为数据结构进行了研究,并且我知道它们根据LIFO(后进先出)规则工作。我遇到了一个问题,要求我检索第一个元素,以及堆栈的最后一个元素。由于我宁愿让更多有经验的用户仔细检查我的知识,我很想知道堆栈的哪些元素被确认为第一个和最后一个?
举个例子,让我们按顺序推入堆栈1,2,3,4,5,6。哪两个是堆栈的前两个元素,哪两个是最后两个元素?
答案 0 :(得分:2)
有助于从上到下思考堆栈,就像现实生活中的一摞书一样。如果您将书1推到堆栈上,然后按书2-6,那么您的堆栈看起来像:
6
5
4
3
2
1
所以1和2是你的前两个元素(书籍),6,5是你的最后一个和倒数第二个。由于第6册是最后一本,它是第一个脱离堆栈(编程用语中的 pop ),否则你的书堆会掉下来!
答案 1 :(得分:0)
在这个问题上,人们可能会有不同的意见。可以做的最好的事情是了解手头问题的要求。就像你在在线评委中解决堆栈问题一样,你可以从问题陈述/例子中得到澄清,或者如果你在专业工作中解决问题,你可以从需求分析中得到澄清。最后,如果你能解决你应该解决的问题,那么你将top元素称为first或bottom元素并不重要。