1,棧的定義
所謂「棧」,就是一種可以實現後進先出的資料儲存結構。
舉個栗子:我們生活中常見的與棧結構很類似的就是我們裝羽毛球的球筒。我們買羽毛球是通常是要買上一筒羽毛球備用。棧結構有兩種主要的操作,乙個入棧,另乙個是出棧。羽毛球入筒的過程就好比是入棧,羽毛球出筒的過程就好比是出棧。這兩個過程模擬得非常貼切。
2,棧的分類
-靜態棧(及其實現)
標頭檔案
#include
#include
#include
結構體構造型別(棧結構)
typedef
struct
stack
stack;
函式介面
void init_stack(stack
*pst)
int is_empty(stack *pst)
int is_full(stack
*pst)
void
push_stack(stack *pst,int data)
else
}
void del_stack(stack
*pst)
else
}
int get_top(stack
*pst)
else
}
void show_stack(stack
*pst)
putchar(10);
}}
-動態棧演算法實現見部落格: 資料結構 線性結構 棧
棧 和佇列相反的作用,越是先存入的資料就得越到後才能取出,根據這個特性可以用陣列或鍊錶模擬出棧。陣列模擬棧 新增資料正常順序,每天加乙個數棧頂加一次,彈棧的時候將棧頂指標的數彈出即可,遍歷棧陣列時是從棧頂開始迴圈。1 class arraystack9 判斷棧是否已滿 10public boolea...
資料結構 線性結構和棧
一種結構化資料集合 也就是有一種關係的資料非線性結構有樹和圖 線性結構就比較多了,線性表,棧與佇列,字串,陣列 線性表就像火車一樣,表頭沒有前驅,表頭就是第乙個,表尾沒有後繼,表尾就是最後乙個,其他元素只有乙個前驅後繼 線性表用指標來實現實參和位址的操作 typedef struct 定義結構體 b...
資料結構之棧結構
棧結構是一種filo first in last out 的批量資料儲存結構。其特點是先進後出,後來者居上 棧的基本屬性 棧記憶體 棧頂標記 棧的當前元素個數 萬金油屬性 size 棧的基本操作 萬金油的的操作 根據實現的不同將棧結構分為兩種 1.鏈式棧 2.陣列 利用有表頭鍊錶的頭插法來完成棧的功...