C語言實現資料結構中的順序棧

2021-04-12 21:54:42 字數 918 閱讀 5309

棧(stack)是限制僅在表的一端進行插入和刪除運算的線性表,通常稱插入,刪除的一段為棧頂(top),另一端為棧底(botton)。當表中沒有元素時稱為空棧.

棧是後進先出(last in first out)的線性表 

下面是c語言實現資料結構中的順序棧及基本演算法

# include

# include

/*定義順序棧*/

# define stacksize 100     //假定預分配的棧空間最多為100個元素

typedef char datatype;     //假定棧元素的資料型別為字元

typedef struct

seqstack;

/*錯誤資訊輸出函式*/

void error(char *message)

/*置空棧*/

void initstack(seqstack *s)

/*判棧空*/

int stackempty(seqstack *s)

/*判棧滿*/

int stackfull(seqstack *s)

/*進棧*/

void push(seqstack *s,datatype x)

//棧頂指標加1後將x進棧

s->data[++s->top]=x;

}/*出棧*/

datatype pop(seqstack *s)

//棧頂元素返回後將棧頂指標減一

return s->data[s->top--];

}/*取棧頂元素*/

datatype getstacktop(seqstack *s)

return s->data[s->top];

}void main()

//出棧

while(s->top!=-1)

}

資料結構 順序棧 C語言實現

順序棧實現 include define size 50 static int data size 宣告陣列data,用於儲存棧中陣列 static int index 宣告變數index,用於表示棧中元素個數 初始化棧 void init 清理棧 void deinit 判棧滿 int full ...

資料結構 C語言實現順序棧和鏈式棧

順序棧 seqstack.h pragma once includetypedef char seqtype define seqmaxsize 1000 typedef struct seqstackseqstack 初始化棧 void seqstackinit seqstack seq 入棧 v...

資料結構 棧的順序儲存結構的c語言實現

棧是一種特殊的線性表,棧是限定僅在表尾進行插入和刪除操作的線性表。我們把允許插入和刪除的一端稱為棧頂 top 另一端稱為棧底 bottom 不含任何資料元素的棧稱為空棧。棧又稱為後進先出 last in first out 的線性表,簡稱lifo結構 棧的順序儲存結構簡稱為順序棧,順序棧是利用一組位...