棧也是一種數(shù)據(jù)呈線性排列的數(shù)據(jù)結(jié)構(gòu)脏毯,不過在這種結(jié)構(gòu)中媚赖,我們只能訪問最新添加的數(shù)據(jù)霜瘪。
-
棧的概念圖。現(xiàn)在存儲在棧中的只有數(shù)據(jù) Blue惧磺。
-
然后颖对,棧中添加了數(shù)據(jù) Green。
-
接下來豺妓,數(shù)據(jù) Red入棧惜互。
-
出棧:從棧中取出數(shù)據(jù)時(shí),是從最上面琳拭,也就是最新的數(shù)據(jù)開始取出的训堆。這里取出的是 Red。
-
出棧:如果再進(jìn)行一次出棧操作白嘁,取出的就是Green了坑鱼。
像棧這種最后添加的數(shù)據(jù)最先被取出,即“后進(jìn)先出” 的結(jié)構(gòu)絮缅,我們稱為 Last InFirst Out鲁沥,簡稱 LIFO。
與鏈表和數(shù)組一樣耕魄,棧的數(shù)據(jù)也是線性排列画恰,但在棧中,添加和刪除數(shù)據(jù)的操作只能在一端進(jìn)行吸奴,訪問數(shù)據(jù)也只能訪問到頂端的數(shù)據(jù)允扇。想要訪問中間的數(shù)據(jù)時(shí)缠局,就必須通過出棧操作將目標(biāo)數(shù)據(jù)移到棧頂才行。