我們用一種最簡單的生活常識描述一下,比如我們往櫃子裡放東西,先放的東西是需要放到櫃子最裡邊,後放的東西在櫃子的最外邊;如果我們要取東西,先要取櫃子最外邊的東西,才能取到櫃子最裡邊的東西。這種先進後出,後進先出的結構稱為「棧」。
「先進後出,後進先出」
棧的操作就兩種,分別為出棧和入棧。那我們上邊的例子,我們往櫃子裡放東西的過程稱為入棧;我們在櫃子裡拿東西的過程稱為出棧。
注意:櫃子只有乙個出口和入口,而且出口和入口是一樣的。如果兩端都有開口,就變成了佇列
棧的實現主要有兩種,一種是陣列的實現,叫做順序棧,另外一種是鍊錶的實現,叫做鏈式棧
基於陣列的順序棧
public
class
arraystack
/** * 功能:入棧
* 說明:陣列入棧的入口為陣列尾部
* @param item :入棧資料元素
* @return:是否入棧成功
*/public
boolean
push
(string item)
/** * 功能:出棧
* @return:返回出棧元素
* 功能:基本鍊錶實現棧,入棧、出棧、輸出棧
* @author : 小鹿
* */
6public class
stackbasedlinkedlist
//get 獲取資料域方法
public
intgetdata()
}/**
* 功能:入棧
* @param value:要入棧的資料元素
*/public
void
push
(int value)
else
}/**
* 功能 : 出棧
* @return: -1 為棧中沒有資料
*/public
intpop()
/** * 功能:輸出棧中所有元素
*/public
void
printall()
system.out.
println();}}
C 棧的簡單介紹
棧 stack 代表了乙個只有乙個出口的後進先出的物件集合。在列表中新增一項,稱為推入元素,從列表中移除一項時,稱為彈出元素。stack類 public class stack ienumerable,icollection,ienumerable count 獲取 stack 中包含的元素個數 p...
mysql的簡單介紹 mysql的簡單介紹
mysql的簡單介紹 資料庫的內部鏈結 1 連線管理器 使用者或應用程式連線 2 分析器 3 快取區4 優化器 優化器執行的結果交由儲存引擎,再轉向物理層 表空間 myisam每個表有三個檔案 frm 表結構 myd 表資料 myi 表索引 innodb 所有表空間再乙個檔案 資料庫失敗的原因 1 ...
棧的簡單總結(順序棧)
棧結構的特點 棧是線性表結構的一種,但是棧結構的插入與刪除操作都只能從同一端進行,所以棧結構是一種受限制的線性表結構,資料的插入與刪除符合lifo的原則 也就是後進先出,先進後出 棧的結構 對棧進行插入與刪除操作的一端稱為棧頂 top 另一端則稱為棧底 base 棧的進本操作 棧的基本操作有向棧中壓...