2012-04-30 55 views
3

我想在实际生活中想到堆栈概念的一些非CS相关应用,与函数调用,解析,DFS等不同,但无法提供任何解决方案。 对于队列,我可以考虑几个例如工厂的装配线,银行的客户服务等,但我们无法想象只能通过在我们日常生活的非CS部分推动&弹出窗口的类似工具。有人可以提出一些建议吗?堆栈的实际应用

+1

一堆菜/盘子。 – Mat

+1

一堆付账单。 –

+1

对程序员来说可能是一个更好的问题.stackexchange.com – Ben

回答

4

您的工作。

当裁员时,许多公司都受到协议和法规的约束,使用“后进先出”来决定谁去和谁留下。

这样的会计师,因为较短的服务相当于较低的裁员支付。工会或其他工作人员代表喜欢这样做,因为它消除了选择偏袒和偏见或受害的可能性。

+0

谢谢!这正是我期待的那种例子! – vrk001

1

有一个真实的例子,甚至使用FIFO和LIFO术语:会计。

每当一家公司购买耗材时,它会将这些耗材计入支出,而不是在购买耗材时,而是在使用耗材时。例如,一家公司今天可能会购买一千支铅笔,但在一年之内使用这些铅笔,出于财务报告的目的,它可以在一年内报告。

但是,如果公司从今天起购买铅笔并且从今天起一个月购买铅笔并且价格在此期间发生了变化,该怎么办?出于财务报告的目的,该公司必须在使用铅笔时为其选择价格。一年后,因为它使用了最后的一千支铅笔,它可以使用今天铅笔的价格,也可以使用下个月铅笔的价格。

会计准则并不赋予公司价格补偿的余地,因此成本必须来自真实的供应品(并且不能用一个月的价格来支付两次供应的费用),但在美国的至少为了会计目的而订购供应品有一些余地。在FIFO下,铅笔被假定为排队:最早的铅笔首先被支付。在LIFO下,铅笔被认为是叠在一起:最新的铅笔首先被支付。

+0

谢谢亚当! +1。你现在做出两个很好的例子! :-) – vrk001

1

嗯,它被称为“堆栈”的原因是因为它就像一叠桌子上的纸。您将纸张放在堆叠顶部(推送)并将其从顶部(弹出)“取走”。