資料結構之線性結構 棧結構(靜態棧的實現)

2021-08-15 16:36:31 字數 1037 閱讀 1170

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.陣列 利用有表頭鍊錶的頭插法來完成棧的功...