資料結構 Java之棧的實現

2021-08-08 19:21:58 字數 1638 閱讀 5978

1、棧(stack

)是限制僅在表的一端進行插入和刪除運算的線性表。

(1)通常稱插入、刪除的這一端為棧頂 (

top),另一端稱為棧底 (

bottom

)。  

(2)當表中沒有元素時稱為空棧。  

(3)棧為後進先出(

last in first out

)的線性表,簡稱為 

lifo 表。

2、棧的修改是按後進先出的原則進行。每次刪除(退棧)的總是當前棧中" 最新"

的元素,即最後插入(進棧)的元素,而最先插入的是被放在棧的底部, 要到最後才能刪除。

【示例】元素是以a1,a2

,…,an

的順序進棧,退棧的次序卻是an,

an-1

,…, 

a1。  

package com.wqc.stack;

public class linkstack

public node(e e, node next)

//也可以通過get set設定元素的值 }

private nodetop; //棧頂元素

private int size; //當前棧的大小

public linkstack()

//獲得棧的大小

public int length()

//判斷棧是否為空

public boolean isempty()

//初始化棧 ----基於鍊錶的棧不存在初始化,因為存在泛型

public void initstack(int nodenum) }

//入棧

public boolean push(e e)

//出棧

public e pop() else }

//遍歷棧

public void display()

while(top != null) }

public static void main(string args)

}

package com.wqc.stack;

public class arraystack

public arraystack(int initialsize) else }

//判空

public boolean isempty()

//入棧

public void push(e e)else }

//出棧

public e pop() }

//遍歷棧

public void display()

} }//返回物件在棧中的位置

public int search(e e)

while(i != -1) else

} return i + 1; }

public static void main(string args)

}

Java資料結構之陣列棧的實現

棧是一種後進先出的資料結構 last in first out lifo public class array data newdata 建構函式 param capacity public array int capacity 無參建構函式,初始化陣列容量為10 public array 獲取陣列...

資料結構 2 棧結構(java實現棧結構)

棧結構是按照 後進先出 last in first out,lifo 的原則處理資料的。在棧結構中,只有棧定的元素是可以訪問的。public class stack 入棧同時棧頂下標加1 public void push int elem else 出棧刪除棧頂元素,同時棧頂元素下標減1 publi...

資料結構之棧實現

ps 棧用類實現比較好,可以同時管理多種資料結構。不過對於剛剛接觸的我來說,就看著數,按著書上的流程走吧。我會盡力把棧的特點講解清楚,以後有了更深入的了解,我會再來補充的。逆波蘭表示法 是一種將運算子寫在運算元後面的描述程式 算式 的方法。舉個例子,我們平常用中綴表示法描述的算式 1 2 5 4 改...