乙個菜鳥的資料結構學習之路(棧篇)

2021-08-20 12:47:56 字數 1451 閱讀 8622

typedef

int status;

typedef

struct

sqstack;

# define stack_init_size 100

# define stackincrement 10

# define ok 1

# define error

status initstack(sqstack &s); /*構造乙個空棧s*/

status destorystack(sqstack &s); /*銷毀棧s,s不再存在*/

status clearstack(sqstack &s); /*把棧s置為空棧*/

status stacklength(sqstack s); /*返回棧s的元素個數,即棧長*/

status gettop(sqstack s,selemtype &e);/*若棧不為空,則用e返回s的棧頂元素,成功則返回ok,否則返回error*/

status push(sqstack &s,selemtype &e); /*在棧s的棧頂插入元素e為新的棧頂元素*/

status pop(sqstack &s,selemtype &e); /*若棧不為空,則刪除棧頂元素,用e返回此值,成功則返回ok,否則返回error*/

status initstack(sqstack &s); /*構造乙個空棧s*/

status destorystack(sqstack &s); /*銷毀棧s,s不再存在*/

status clearstack(sqstack &s); /*把棧s置為空棧*/

status stacklength(sqstack s); /*返回棧s的元素個數,即棧長*/

status push(sqstack &s,selemtype &e); /*在棧s的棧頂插入元素e為新的棧頂元素*/

*s.top++ = e; //將e插入棧頂

return ok;

}

status push(sqstack &s,selemtype &e); /*在棧s的棧頂插入元素e為新的棧頂元素*/

*s.top++ = e; //將e插入棧頂

return ok;

status pop(sqstack &s,selemtype &e); /*若棧不為空,則刪除棧頂元素,用e返回此值,成功則返回ok,否則返回error*/

int main(void)

}return

0;}

資料結構學習之路(一)

資料結構 是計算機學科的必修課程,涵蓋了計算機學科的演算法設計 數值分析 作業系統和編譯原理等課程所涉及的大部分相關演算法的實現。學好該課程,不僅對這些後續課程的學習有很大幫助,而且能在實際中發揮其廣泛的用途。想成為程式武林的高手嗎?快點跟我一起學學獨孤九劍 資料結構 1.1 資料結構 資料結構是指...

資料結構學習 棧

這一系列部落格的目的在於複習鞏固資料結構的基礎知識,為考研面試筆試做準備,所以重在原理,實踐不是重點。參考書籍有嚴蔚敏老師的 資料結構 c語言版 c c 資料結構與演算法速學速用大辭典 define stacksize 100 typedef int datatype typedef structs...

(C )資料結構學習一 棧

棧的主要特點是後進先出 last in first out,lifo 即出棧元素只能是位於棧頂的元素,入棧也只能在棧頂。棧是只能在一端 棧頂 進行插入或刪除的線性表。n個元素依次入棧,可在任意時刻出棧,則共有 棧的儲存結構 3.棧的應用3.1括號匹配檢測 3.2遞迴演算法改為非遞迴演算法需要用到棧,...