我想在实际生活中想到堆栈概念的一些非CS相关应用,与函数调用,解析,DFS等不同,但无法提供任何解决方案。 对于队列,我可以考虑几个例如工厂的装配线,银行的客户服务等,但我们无法想象只能通过在我们日常生活的非CS部分推动&弹出窗口的类似工具。有人可以提出一些建议吗?堆栈的实际应用
堆栈的实际应用
回答
您的工作。
当裁员时,许多公司都受到协议和法规的约束,使用“后进先出”来决定谁去和谁留下。
这样的会计师,因为较短的服务相当于较低的裁员支付。工会或其他工作人员代表喜欢这样做,因为它消除了选择偏袒和偏见或受害的可能性。
谢谢!这正是我期待的那种例子! – vrk001
有一个真实的例子,甚至使用FIFO和LIFO术语:会计。
每当一家公司购买耗材时,它会将这些耗材计入支出,而不是在购买耗材时,而是在使用耗材时。例如,一家公司今天可能会购买一千支铅笔,但在一年之内使用这些铅笔,出于财务报告的目的,它可以在一年内报告。
但是,如果公司从今天起购买铅笔并且从今天起一个月购买铅笔并且价格在此期间发生了变化,该怎么办?出于财务报告的目的,该公司必须在使用铅笔时为其选择价格。一年后,因为它使用了最后的一千支铅笔,它可以使用今天铅笔的价格,也可以使用下个月铅笔的价格。
会计准则并不赋予公司价格补偿的余地,因此成本必须来自真实的供应品(并且不能用一个月的价格来支付两次供应的费用),但在美国的至少为了会计目的而订购供应品有一些余地。在FIFO下,铅笔被假定为排队:最早的铅笔首先被支付。在LIFO下,铅笔被认为是叠在一起:最新的铅笔首先被支付。
谢谢亚当! +1。你现在做出两个很好的例子! :-) – vrk001
嗯,它被称为“堆栈”的原因是因为它就像一叠桌子上的纸。您将纸张放在堆叠顶部(推送)并将其从顶部(弹出)“取走”。
- 1. 内存中的堆栈实际上是一个堆栈吗?
- 2. 从javascript堆栈跟踪中查找Java实际堆栈跟踪
- 3. 堆栈的顶部应该在堆栈的链表中实现?
- 4. 如何使控件占用堆栈内的实际大小
- 5. 堆栈实现
- 6. 使用BST实现堆栈
- 7. 通用堆栈实现
- 8. 用Python实现堆栈
- 9. 使用堆栈实现C++
- 10. Proguard回溯没有映射堆栈跟踪到实际的源
- 11. 从堆栈跟踪行号获取实际的jsp行号?
- 12. C++堆栈实现
- 13. 实现无堆栈的Python
- 14. 堆栈的数组实现
- 15. C中的堆栈实现
- 16. Monad变换器:用MaybeT(状态堆栈)实现堆栈机
- 17. 是否可以从堆栈跟踪中获取实际类型?
- 18. 堆栈指针VS应用
- 19. 内核堆栈与用户模式应用程序堆栈
- 20. 为什么从一个堆栈弹出实际上是从多个单独的堆栈弹出的?
- 21. Java中的堆栈溢出与Collections-Java中的堆栈实现
- 22. 如何在CTRL + Break的情况下查看WinDbg中的实际调用堆栈
- 23. 使用数组的C++实现堆栈
- 24. c中的实现通用堆栈
- 25. 堆栈实现崩溃时,试图打印堆栈的元素
- 26. 实施堆栈:推出的字符在堆栈中为空
- 27. 确实谷歌应用程序引擎实例共享堆和堆栈?
- 28. 堆栈应该如何使用大对象堆栈?
- 29. 堆实际上是一堆吗?
- 30. 我可以用堆栈跟踪检索实际的代码行吗?
一堆菜/盘子。 – Mat
一堆付账单。 –
对程序员来说可能是一个更好的问题.stackexchange.com – Ben