順序棧和鏈棧(stack)
順序棧和鏈棧(stack)
棧的定義:它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
我們把棧分為順序棧和鏈棧兩種,兩者分別用不同方法定義
我們先來看順序棧的定義:
再看一下鏈棧的定義:
-------------------------------------------------------------------------------------------------------------
順序棧功能的實現:
①:初始化
②:判滿
③:壓棧
④:判空
⑤:出棧
⑥:若順序棧存在,則獲得棧頂元素
⑦:獲得順序棧的有效長度
⑧:清空順序棧
⑨:毀滅順序棧
-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
鏈棧功能的實現:
①:初始化
②:動態開闢結點
③:壓棧
④:判空
⑤:出棧並將其值返回
⑥:獲得鏈棧的有效長度
⑦清空鏈棧
⑧毀滅鏈棧
-------------------------------------------------------------------------------------------------------------