資料結構與演算法 順序儲存的棧

2021-10-06 04:51:43 字數 941 閱讀 3279

//順序儲存的棧 實現檔案

/#include

#include

#include 「seqstack.h」

/建立乙個棧/

seqstack* ss_create(int maxlen)

/釋放乙個棧/

void ss_free(seqstack* ss)

/清空乙個棧/

void ss_makeempty(seqstack* ss)

/判斷棧是否為滿/

bool ss_isfull(seqstack* ss)

/判斷棧是否為空/

bool ss_isempty(seqstack* ss)

/獲取棧元素個數/

int ss_length(seqstack* ss)

/將x進棧,滿棧則無法進棧(返回false)/

bool ss_push(seqstack* ss, t x)

/end/

}/出棧,出棧的元素放入item,空棧則返回false/

bool ss_pop(seqstack* ss, t &item)

else

/end/

}/獲取棧頂元素放入item中,空棧則返回false/

bool ss_top(seqstack* ss, t & item)

item = ss->data[ss->top];

return true;

}/從棧底到棧頂列印出所有元素/

void ss_print(seqstack* ss)

printf(「stack data (from bottom to top):」);

int curr=0;

while(curr<=ss->top)

//printf("\n");

}

資料結構與演算法 3棧的順序儲存

棧是線性表的一種特例,它使得資料先入後出,就行壘磚似的最先壘的磚在最下面但是取的時候需要最後才能取到,最後壘的磚在最上面,但是取的時候是第乙個取走。typedef struct stack sstack,psstack 這裡是使用的int型的資料,data陣列為棧空間,最多資料元素為max個,top...

資料結構(棧 順序儲存 )

棧是特殊的線性表,規定插入和刪除在同一端進行 進行插入和刪除的那一端成為棧頂,另一端為棧底 插入為進棧,刪除為出棧 先進後出 ps 例如 abc進棧 出棧共有幾種情況 上溢 超出規定的空間大小還進行插入操作 下溢 棧中元素已經用完了還進行刪除操作 include include include de...

順序儲存 資料結構 棧

備註 以列表為基礎進行對此的封裝,以便達到棧的效果及作用 1 2棧的順序儲存結構 3重點 4 56 自定義棧異常 7class stackerror exception 8pass910 基於列表實現順序棧 11class sstack 12def init self 13 約定列表的最後乙個元素為...