何為 棧 ?何為 隊列 ? 先進先出 和 後進先出 的區别,本文就跟大家分享下棧與隊列這兩種數據結構的優缺點以及适用場景,歡迎各位感興趣的開發者閱讀本文。
棧也是一種數據呈線性排列的數據結構,不過在這種結構中,我們隻能訪問最新添加的數據。
往棧中添加數據的操作就叫“入棧”,往棧中添加數據時,新數據被放在最上面。
從棧中取出數據的操作就叫“出棧”,從棧中取出數據時,會從最新的數據開始取。
由于棧中存放數據的結構是後放進去的數據先取出來( 後進先出 ),針對一些操作需要取最新數據時,選擇棧作為數據結構是最合适的。
訪問棧中的任意數據時,就需要從最新的數據開始取,效率較低。
隊列的數據結構與棧的數據結構相同,隊列中的數據也是呈線性排列。與棧不同的地方在于:隊列中添加和删除數據的操作分别是在兩端進行的。
往隊列中添加數據的操作就叫“入隊”。
從隊列中删除數據的操作就叫“出隊”,從隊列中取出(删除)數據時,是從最早入隊的數據開始的(先進先出)。
隊列的特點是,最早添加進來的數據,先取出,對于需要獲取最早添加的數據時,選擇隊列作為數據結構,将會大大的提升效率。
獲取最新的數據就需要從最開始入隊的數據開始查找,效率較低。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!