棧(stack),是1種線性存儲結構,它有以下幾個特點:
1. 棧中數據是依照”落后先出(LIFO, Last In First Out)”方式進出棧的。
2. 向棧中添加/刪除數據時,只能從棧頂進行操作。
棧通常包括的3種操作:push、peek、pop。
push – 向棧中添加元素。
peek – 返回棧頂元素。
pop – 返回并刪除棧頂元素的操作。
棧中的數據順次是 30 –> 20 –> 10
出棧前:棧頂元素是30。此時,棧中的元素順次是 30 –> 20 –> 10
出棧后:30出棧以后,棧頂元素變成20。此時,棧中的元素順次是 20 –> 10
入棧前:棧頂元素是20。此時,棧中的元素順次是 20 –> 10
入棧后:40入棧以后,棧頂元素變成40。此時,棧中的元素順次是 40 –> 20 –> 10
Java中也提供了『棧』的實現,它就是集合框架中Stack類。