棧是線性表的特例,棧的順序儲存其實也是線性表順序的儲存的簡化,我們簡稱為順序棧。
對於這種只能一頭插入,一頭刪除的線性表來說,下標為0的一端作為棧底比較好,因為首元素都存在棧底,變化最小。
我們定義乙個top變數來指示棧頂元素在陣列中的位置,這top如同中學的游標卡尺的游標,它可以來回移動,意味著棧頂的top可以變大變小,
但無論如何游標不能超出尺的長度。同理,若儲存棧的長度為stacksize,則棧的頂部位置必須小於stacksize。當棧存在乙個元素是,top等於0,因此通常空棧時設top為-1.
棧 順序儲存
棧頂指標top指向棧頂元素,初始化的時候棧為空top 1,出棧和入棧不涉及任何迴圈所以時間複雜度為o 1 includeusing namespace std define true 1 define false 0 define maxsize 20 typedef int elemtype ty...
棧順序儲存 鏈式儲存
1.棧的順序儲存之動態儲存 include include define ok 1 define false 0 define true 1 define stack init size 20 儲存空間初始分配量 define stackincrement 5 儲存空間分配增量 typedef in...
棧的順序儲存
棧的順序儲存就是用連續的空間儲存棧中的結點,一般都是用陣列來實現這種連續空間的。為了保證棧的filo特點,所以進棧出棧總是在棧頂一端進行。因此,不會引起類似順序表中的大量資料的移動。用陣列實現棧結構時,棧底bottom可取下標為0的陣列元素,假定用top給出棧頂元素的下標位址,即棧頂指標,那麼初始化...