有的人可能會覺得用陣列或鏈結串列直接時限功能不就行了嗎?
幹嘛要引入存入堆疊這樣的資料結構呢?
其實這和我們明明有兩隻腳可以走路,幹嘛還要乘坐汽車、火車、飛機一樣。
理論上陸地上的任何地方,你都是可以靠雙腳走到的,但那需要多少時間和精力呢?
堆疊的引用簡化了程式設計的問題,劃分了不同關注層次,使得思考範圍縮小,更加聚焦於我們要解決的問題核心。
而像線性串列循序儲存結構用到的陣列,因為要分散精力去考慮陣列的索引增減等細節問題,反而掩蓋了問題的本質。
所以現在的許多高階語言,例如 Java、C# 等都有對堆疊結構的封裝,你可以不用關注它的實現細節,就可以直接使用 Stack 的 push 和 pop 方法,非常方便。
換句話說,導入堆疊就像是用交通工具代替雙腳走路,它幫我們把底層繁瑣的陣列索引細節全部藏起來,讓我們能更專心解決核心問題。
今日的分享就到這囉,我們明天見,掰掰!