棧的簡單介紹

2021-10-24 20:15:49 字數 1442 閱讀 7524

我們用一種最簡單的生活常識描述一下,比如我們往櫃子裡放東西,先放的東西是需要放到櫃子最裡邊,後放的東西在櫃子的最外邊;如果我們要取東西,先要取櫃子最外邊的東西,才能取到櫃子最裡邊的東西。這種先進後出,後進先出的結構稱為「棧」。

「先進後出,後進先出」

棧的操作就兩種,分別為出棧和入棧。那我們上邊的例子,我們往櫃子裡放東西的過程稱為入棧;我們在櫃子裡拿東西的過程稱為出棧。

注意:櫃子只有乙個出口和入口,而且出口和入口是一樣的。如果兩端都有開口,就變成了佇列

棧的實現主要有兩種,一種是陣列的實現,叫做順序棧,另外一種是鍊錶的實現,叫做鏈式棧

基於陣列的順序棧

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 棧的進本操作 棧的基本操作有向棧中壓...