考研資料結構與演算法之堆疊的建立與使用(一)

2021-06-21 17:14:21 字數 1150 閱讀 1589

到了堆疊這裡一下子就輕鬆了,算是一種暫時的解脫吧。經過了鍊錶部分的學習和思考,我突然意識到嚴蔚敏教材的嚴謹性。下面是按照教材實現的堆疊操作**,唯一有些疑問的是在pop操作中要不要根據需要縮減堆疊的尺寸呢?

#include #include #define ok 1

#define error 0

#define true 1

#define false 0

#define stack_init_size 100

#define stak_increasement 10

typedef int status;

typedef int selemtype;

typedef struct

sqstack;

status initstack(sqstack &s);

status destroystack(sqstack &s);

status clearstack(sqstack &s);

status stackempty(sqstack s);

int stacklength(sqstack s);

status gettop(sqstack &s, selemtype &e);

status push(sqstack &s, selemtype e);

status pop(sqstack &s, selemtype &e);

int main(void)

for(i=0; i<17; i++)

system("pause");

}status initstack(sqstack &s)

status destroystack(sqstack &s)

status clearstack(sqstack &s)

status stackempty(sqstack s)

status gettop(sqstack &s, selemtype &e)

status push(sqstack &s, selemtype e)

*s.top = e;

s.top++;

return ok;

}status pop(sqstack &s, selemtype &e)

考研資料結構與演算法之堆疊的使用(三)陣列實現的堆疊

這段時間遇到了一些問題,也查了不少資料,許多問題依然沒有得到解決,昨晚睡前突然看到一篇據說是神級 實現的堆疊,研究了半天沒有發現好在 只好貼出來看一看了。include include define max length 100 define empty 1 define full max leng...

資料結構與演算法 堆疊

定義 具有一定操作約束的線性表,只在一段做插入,刪除,先出 adt 型別名稱 堆疊 stack 資料物件集 乙個有0個或多個元素的有窮鍊錶 操作集 初始化空堆疊,判斷是否已滿,是否為空,插入和刪除 堆疊的順序儲存結構通常由乙個一維陣列和記錄棧頂元素位置的變數組成。define struct snod...

考研資料結構與演算法之堆疊的使用(四)鍊錶實現的堆疊

還是參考了別人的 不過比我自己寫出來的確實是要簡潔的多,不過仍然有不規範的地方,但是仍然值得我學習一下,在敲打的時候也是受到了一定的啟發。include include define full 1000 define empty 0 typedef char data struct elem str...