棧的定義和簡單使用

2022-08-11 22:06:10 字數 680 閱讀 5456

棧(stack)其實也是線性結構,但只是在操作上有點不一樣,棧的特點,後進先出(filo),所以他也有不同的應用,比如進製轉換啊,括號匹配問題啊,表示式求值問題啊,很多問題都是可以用棧來解決,

下面來說說棧的定義和棧上面的相關操作,

1.定義棧的節點

#include #include 

#define maxsize 100typedef

struct

stack;

2.棧的初始化操作

int initstack(stack *s) 

else

}

3.獲得棧的大小

int getsize(stack*s) 

4.獲得棧頂元素操作

int getelem(stack*s) 

else

}

5.入棧操作

int pushstack(stack *s,int

e)

else

}

6.出棧操作

int popstack(stack *s,int

e)

else

}

好了,我們下回見,peace

佇列的定義和簡單使用

佇列 queue 其實也是線性結構,但只是在操作上有點不一樣,佇列的特點,先進先出 fifo 所以他也有不同的應用,生活當中佇列的例子有很多,比如排隊啊,很多問題都是可以用佇列來解決,下面來說說佇列的定義和佇列上面的相關操作,1.定義佇列的節點 include include define maxs...

順序棧的簡單使用

2018 3 3 資料結構 1.標頭檔案 在標頭檔案中自定義函式的原型,和相關結構體 對順序棧相關操作 include c語言標準輸入輸出流 順序棧的結構體模型 typedef int datatype define maxsize 100 typedef struct sqstack 1.初始化棧...

串的定義和BF演算法的簡單使用

串其實也是線性結構,只是串的內容必須是字元,所以他又有他的不同的應用,最常見的應該是串的模式匹配,下面就來說說模式匹配中的bf演算法,其實就是乙個乙個向後面匹配,如果沒有成功,那麼回到主串剛開始的字元後面乙個字元開始新的一次匹配,之後重複這個操作,如果匹配成功,那麼返回第乙個字元的位置,如果不成功,...