資料結構 棧 鍊錶的實現

2021-06-26 20:19:24 字數 486 閱讀 6748

鍊錶的實現和陣列的實現最大的不同在於鍊錶的插入操作代價要低於陣列,不過總體代價還是陣列更低,因為鍊錶的構造和連線部分代價其實很高。

基本結構

private node head = null;

push操作

public void push(string str)

pop操作

public string pop() 

// empty can not delete

else

}

判空

public boolean isempty()

求size的操作

public int size() 

return size;

}

資料結構 棧 鍊錶實現

鍊錶實現的棧可以克服在程式執行時也無法估計棧容量大小的情況 棧中的元素是儲存在稱為節點的類中,每個節點都包含乙個資料域和乙個指標域 資料域儲存棧的值,指標域指示棧中下乙個值得位置 而棧類的資料成員是需要乙個指向棧頂的指標即可 類宣告如下 typedef int stackelement class ...

資料結構 棧的鍊錶實現

1.構造結構體作為鍊錶的節點 typedef struct node linkstack 2.建棧操作 為指標s分配一塊空間,返回後作為鍊錶的頭節點。其後繼為空,表示棧為空。向棧中壓入元素後,它的直接後繼就是棧頂元素。linkstack createstack 3.判斷棧是否為空 int isemp...

資料結構 棧的鍊錶實現

自定義鍊錶實現棧的資料結構,如下 1 class stack 2def init self 3 self.first none 4def push self,item 5 self.first node item,self.first 6def pop self 7 self.first self....