資料結構 棧的基本操作(以順序棧為例)

2021-10-09 12:29:20 字數 1188 閱讀 1652

#include

#include

#include

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

#define stack_init_size 100

//棧儲存空間的初始分配量

#define stackincrement 10

//儲存空間分配增量

typedef

int status;

//函式型別 為int取別名 status

typedef

int selemtype //資料元素型別,為int取別名 selemtype

//棧的定義

typedef

struct sqstack

sqstack;

//為整個定義的結構體取別名 sqstack

status createstack

(stack &s)

status clearstack

(sqstack &s)

status destroystack

(sqstack &s)

s.top = s.base =

null

; s.stacksize =0;

return ok;

}

status push

(sqstack &s, selemtype e)

*s.top++

= e;

return ok;

}

status pop

(sqstack &s, selemtype &e)

status gettop

(sqstack s, selemtype &e)

int

stacklength

(sqstack s)

資料結構 順序棧的基本操作

順序棧是指利用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底到 棧頂的資料元素,同時附設指標top指示棧頂元素在順序棧中的位置。由於c語言中陣列的下標是從0開始的,通常習慣的做法是 以top 1 表示空棧。順序棧的定義如下 define maxsize 100 define ele...

資料結構 完成順序棧,鏈式棧的基本操作

seqstack.h pragma once include define title printf n s n function typedef char seqstacktype typedef struct seqstack seqstack void seqstackinit seqstac...

順序棧的基本操作 資料結構 一 棧結構

數 結 structure data 據 構 棧 結 構 s t a c k 前言 在計算機中儲存資料需要用到各種資料結構,一起來了解下棧結構吧。棧結構介紹 棧結構的宗旨就是先進後出 filo,first in last out 即先進入棧中的元素會在最後才能彈出。棧結構用圖形來表達的話就是這樣 棧...