棧空間實現(順序表)

2021-09-28 21:35:25 字數 1751 閱讀 9531

common.h

#ifndef _common_h_

#define _common_h_

#include

#include

#include

#include

#include

#define datatype int

typedef

enum

bool;

//vs2013中不支援bool型別,所以用列舉型別定義出來

#endif

textmain.c

#define _crt_secure_no_warnings 1

#include

"stack.h"

intmain()

stack.h

#ifndef _stack_h_

#define _stack_h_

#include

"common.h"

#define stack_default_size 8

#define stack_inc_size 5

//順序棧

typedef

struct seqstack

seqstack;

/功能函式,判斷棧是否滿

bool seqstackfull

(seqstack *pst)

//判斷棧是否空

bool seqstackempty

(seqstack *pst)

//棧空間的初始化

void

seqstackinit

(seqstack *pst,

int sz)

;//入棧

void

seqstackpush

(seqstack *pst, datatype x)

;//顯示

void

seqstackshow

(seqstack *pst)

;//檢視棧頂元素

datatype seqstacktop

(seqstack *pst)

;//出棧

void

seqstackpop

(seqstack *pst)

;//摧毀棧空間

void

seqstackdestroy

(seqstack *pst)

;void

seqstackinit

(seqstack *pst,

int sz)

void

seqstackpush

(seqstack *pst, datatype x)

pst->base[pst->top++

]= x;

}void

seqstackshow

(seqstack *pst)

}datatype seqstacktop

(seqstack *pst)

return pst->base[pst->top -1]

;}void

seqstackpop

(seqstack *pst)

pst->base[pst->top--];

}void

seqstackdestroy

(seqstack *pst)

#endif

棧的順序表實現

順序棧的實現 清空了,只是棧頂指標從頭開始,棧所占用空間已在。銷毀,就是棧記憶體釋放,這個棧就死亡了 鍊錶形式的需要逐個結點釋放。如果是動態分配,整體一次釋放 include define stacr init size 100 define stacr add size 10 typedef ch...

用順序表實現棧

棧是一種有約束的順式結構,他需要遵循先進後出,後進先出的基本規則,我們可以用順序表和煉表兩種方式來實現 因為簡單就意味著不容易出錯,所以在這裡我使用順序表來實現棧 stack.h pragma once include include 對於棧我們可以用順序表和煉表來實現,棧的 並不難,在此處,為了省...

順序,鍊錶棧的實現

順序棧的實現 include include include define initsize 10 define increment 10 typedef struct sstack sstack,stack void initstack stack st int gettop stack st r...