棧的實現(基於鍊錶)

2021-08-27 20:59:45 字數 586 閱讀 3930

首先定義乙個介面(基於已寫好的鍊錶實現的棧)

public inte***ce stack
定義乙個棧的類,繼承stack介面

/**

* 基於鍊錶實現棧

* @author hcc

*鍊錶的開頭是棧底,鍊錶的末尾是棧頂

*/public class linkedstackimplements stack

@override

public int getsize()

@override

public boolean isempty()

@override

public boolean contains(e e)

@override

public void push(e e)

@override

public e peek()

@override

public e pop()

public string tostring()

}

基於鍊錶的模板棧

首先建立乙個結構體模板,即乙個鍊錶節點,作為棧的單元。template class t struct linkedlist 然後新建乙個類,該類有兩個成員,分別為棧頂指標top和棧的大小size,top永遠指向鍊錶的頭部,由於棧只能操作棧頂元素,故新的節點可插入到鍊錶的頭部 該類實現了push po...

棧的鍊錶實現

鏈棧結構如下圖所示 len用來儲存棧中元素個數 圖示 當鍊表為空時,即棧為空棧時插入情況 圖示 非空時插入 圖示 彈出棧頂 構造乙個空戰 status initstack slinklist s s len 0 棧元素長度初始化為0 s head next null 初始為空鍊錶 return ok...

鍊錶實現棧

include include typedef int datatype 自定義資料型別,假定為整型 struct node 單鏈表結點型別 typedef struct node pnode 結點指標型別 typedef struct node 單鏈表結點結構 node typedef struc...