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