1. 程式人生 > >順序棧和鏈棧(stack)

順序棧和鏈棧(stack)

順序棧和鏈棧(stack)

 

棧的定義:它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

 

我們把棧分為順序棧和鏈棧兩種,兩者分別用不同方法定義

 

我們先來看順序棧的定義:

 

再看一下鏈棧的定義:

-------------------------------------------------------------------------------------------------------------

順序棧功能的實現:

①:初始化

 

②:判滿

 

③:壓棧

 

 

④:判空

 

⑤:出棧

 

⑥:若順序棧存在,則獲得棧頂元素

 

⑦:獲得順序棧的有效長度

 

⑧:清空順序棧

 

 

⑨:毀滅順序棧

 

-------------------------------------------------------------------------------------------------------------

 

 

 

 

 

-------------------------------------------------------------------------------------------------------------

鏈棧功能的實現:

 

①:初始化

 

②:動態開闢結點

 

③:壓棧

 

④:判空

 

⑤:出棧並將其值返回

 

⑥:獲得鏈棧的有效長度

 

⑦清空鏈棧

 

⑧毀滅鏈棧

 

-------------------------------------------------------------------------------------------------------------