我试图在现实生活中思考堆栈概念的一些非 CS 相关应用,不像函数调用、解析、DFS 等,但想不出任何。对于队列,我可以想到几个,例如工厂的装配线,银行的客户服务等,但我无法想到仅在我们日常生活的非 CS 部分中通过推送和弹出来工作的类似队列。有人可以提出一些建议吗?
问问题
14559 次
3 回答
6
你的工作。
在裁员时,许多公司受协议和法规的约束,使用“后进先出”来决定谁去谁留下。
会计师喜欢这样,因为较短的服务等同于较低的冗余支付。工会或其他员工代表喜欢这样,因为它消除了选择中任何偏袒、偏见或受害的可能性。
于 2012-04-30T06:56:55.380 回答
1
有一个真实的例子甚至使用了先进先出和后进先出的术语:会计。
每当一家公司购买供应品时,它都会将这些供应品计入费用,而不是在购买时计入费用,而是在使用时计入费用。例如,一家公司今天可能购买了一千支铅笔,但使用了一年多,出于财务报告的目的,它可以报告一年多的时间。
但是,如果公司今天和一个月后购买铅笔,而价格在此期间发生了变化怎么办?出于财务报告的目的,公司必须在使用铅笔时为其选择价格。一年后,由于它使用了最后一千支铅笔,它可以使用今天铅笔的价格,也可以使用下个月铅笔的价格。
会计准则并没有给公司补价的余地,因此成本必须来自实际供应(而且你不能用一个月的价格来支付两批供应的费用),但在美国至少有一些为会计目的订购供应品的余地。在 FIFO 下,假设铅笔在队列中:最旧的铅笔首先被花费。在 LIFO 下,假设铅笔是堆叠的:最新的铅笔首先被花费。
于 2012-04-30T06:49:07.130 回答
1
嗯,嗯,之所以叫“栈”,是因为它就像是桌子上的一沓纸。您将文件“放在”堆栈的顶部(推)并从顶部“取出”它们(弹出)。
于 2012-04-30T06:53:22.913 回答