棧 順序儲存

2021-09-27 20:58:34 字數 575 閱讀 8969

棧頂指標top指向棧頂元素,初始化的時候棧為空top=-1,出棧和入棧不涉及任何迴圈所以時間複雜度為o(1)

#includeusing namespace std;

#define true 1

#define false 0

#define maxsize 20

typedef int elemtype;

typedef int status;

typedef struct sqstack

sqstack;

//初始化順序儲存結構的棧

status initstack(sqstack *s)

//獲取棧頂元素

status gettop(sqstack s,elemtype *e)

//將元素e進棧,棧頂指標top++

status push(sqstack *s,elemtype e)

//將棧頂元素e出棧,棧頂指標top--

status pop(sqstack *s,elemtype *e)

int main()

棧順序儲存 鏈式儲存

1.棧的順序儲存之動態儲存 include include define ok 1 define false 0 define true 1 define stack init size 20 儲存空間初始分配量 define stackincrement 5 儲存空間分配增量 typedef in...

棧 順序儲存結

棧是線性表的特例,棧的順序儲存其實也是線性表順序的儲存的簡化,我們簡稱為順序棧。對於這種只能一頭插入,一頭刪除的線性表來說,下標為0的一端作為棧底比較好,因為首元素都存在棧底,變化最小。我們定義乙個top變數來指示棧頂元素在陣列中的位置,這top如同中學的游標卡尺的游標,它可以來回移動,意味著棧頂的...

棧的順序儲存

棧的順序儲存就是用連續的空間儲存棧中的結點,一般都是用陣列來實現這種連續空間的。為了保證棧的filo特點,所以進棧出棧總是在棧頂一端進行。因此,不會引起類似順序表中的大量資料的移動。用陣列實現棧結構時,棧底bottom可取下標為0的陣列元素,假定用top給出棧頂元素的下標位址,即棧頂指標,那麼初始化...