首先定義乙個介面(基於已寫好的鍊錶實現的棧)
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...