C語言資料結構 順序棧

2021-07-05 18:02:47 字數 844 閱讀 8943

順序棧為具有特殊運算操作的順序表,資料通過棧頂先進先出。棧的資料空間和陣列類似儲存固定的一類資料。儲存在連續的空間中,通過出棧和入棧來進行資料操作。

具體看下面的函式實現:

#include 

#define stacksize 20

//定義順序棧結構

typedef

structseqstack;

//初始化

void initstack(seqstack *s)

//棧是否為空

int stackempty(seqstack *s)

//棧是否已滿

int stackfull(seqstack *s)

//資料v壓入棧

void push(seqstack *s, int v)

//彈出棧頂資料

int pop(seqstack *s)

int main()

printf("the top number of the stack is : %d\n",pop(&st)); //彈出棧頂元素6

push(&st,12);

push(&st,10);

printf("the top number of the stack is : %d\n",pop(&st)); //彈出棧頂元素10

}

上面的pop()函式彈出資料是,top會減小,即會使棧改變,在棧的運用中,還有乙個常見函式可以讀取棧頂資料而不改變棧的內容;它與pop非常相似,如下:

//讀棧頂資料

int read(seqstack *s)

C語言資料結構 5 順序棧

棧應該是第一次出現乙個很專業名詞的資料結構了吧,但是棧依然是乙個非常簡單一維結構。之所以稱之為棧,就是因為棧的特點是後進先出,就像乙個貨棧,先放進去東西總是放在裡面,後放進去的東西放到門口,所以往外拿出來的時候,就先拿出來門口的。我們把線性表看為從上到下的乙個一維結構,不管是往線性表裡新增元素還是取...

C語言資料結構之順序棧

tips 前些天學習了順序表的一系列操作,今天來看看c語言資料結構之順序棧的實現以及關於順序棧的各種操作。棧的特點是先進後出,後進先出,在陣列中可利用乙個指向陣列下標指標top來進行順序棧的相關操作。首先我們定義乙個順序棧的結構體 define maxsize 10 給順序棧定義預設大小 typed...

資料結構 順序棧c

include include includeusing namespace std templateclass stacklist else cout endl return output 不帶引數的建構函式 templatestacklist stacklist 初始化最大容量為n的建構函式 t...