Last In, First Out
定義
- LIFO (Last In, First Out) 是一種資料處理順序:最後進來的,最先處理。
- 想像一疊盤子:你最後放上去的盤子會最先被拿走,這就是 LIFO。
- 常見於計算機科學與資料結構中,尤其在堆疊 (stack) 結構中最為典型。
- 資料處理上,最新加入的資料會最先被取出或處理。
常見應用
- 資料結構:
- stack (堆疊):如網頁瀏覽器的返回紀錄、遞迴呼叫堆疊等。
- 作業系統:
- 程式語言:
- LIFO 行為用於程式區塊 return、暫存變數管理。
財務與投資
- 定義:賣出時先認列最新買進的部位
- 例子:
- 同時持有 100 股 @ 100 元、100 股 @ 120 元
- 賣出 100 股時以 120 元為成本
- 優點:
- 在通膨時期,成本高的先賣出,帳面利潤會被壓低,可減少當期稅負。
- 有助於在震盪市中控管損益與成本。
- 適用情境:
- 與 FIFO (First In, First Out) 相對應。
LIFO 特性與效應
- 優點:
- 最新資料優先處理,適合時間敏感的處理邏輯。
- 符合「反覆撤銷 (Undo)」的應用邏輯。
- 缺點:
- 早期進來的資料會被延後處理,可能滯留在底層。
- 不適合需按時間順序先後處理的場景。
- 舉例
- 文字編輯器 Undo 功能:最後做的動作,最先被取消。
- 呼叫函式:A 呼叫 B,B 呼叫 C,結束時順序是 C → B → A。