我想在實際生活中想到堆棧概念的一些非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