本文所說的棧是數(shù)據(jù)結(jié)構(gòu)中的棧,而不是內(nèi)存模型中棧。
棧(stack),是一種線性存儲結(jié)構(gòu),它有以下幾個特點:
- 棧中數(shù)據(jù)是按照"后進先出(LIFO, Last In First Out)"方式進出棧的。
- 向棧中添加/刪除數(shù)據(jù)時,只能從棧頂進行操作。
棧通常包括的三種操作:push、peek、pop。
- push -- 向棧中添加元素。
- peek -- 返回棧頂元素。
- pop -- 返回并刪除棧頂元素的操作。
棧的示意圖

棧
棧中的數(shù)據(jù)依次是 30 --> 20 --> 10
出棧

出棧
出棧前:棧頂元素是30。此時,棧中的元素依次是 30 --> 20 --> 10
出棧后:30出棧之后,棧頂元素變成20。此時,棧中的元素依次是 20 --> 10
入棧

入棧
入棧前:棧頂元素是20。此時,棧中的元素依次是 20 --> 10
入棧后:40入棧之后,棧頂元素變成40。此時,棧中的元素依次是 40 --> 20 --> 10
出處http://www.cnblogs.com/skywang12345/p/3562239.html
棧和數(shù)組、鏈表都屬于線性存儲結(jié)構(gòu)。
這邊有位大佬整理得十分清晰,可供大家參考