順序棧為具有特殊運算操作的順序表,資料通過棧頂先進先出。棧的資料空間和陣列類似儲存固定的一類資料。儲存在連續的空間中,通過出棧和入棧來進行資料操作。
具體看下面的函式實現:
#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...