/*
編寫乙個程式,實現順序棧(假設棧中元素型別為char)的各種基本運算。並完成下面功能:
(1)初始化棧s;
(2)判斷棧s是否非空;
(3)依次進棧元素a,b,c,d,e;
(4)判斷棧s是否非空;
(5)輸出棧長度;
(6)輸出從棧頂到棧底元素;
(7)輸出出棧序列;
(8)判斷棧s是否非空;
(9)釋放棧。
*/#include #include #include #include #define maxsize 100
using namespace std;
typedef char elemtype;
typedef struct
sqstack; //定義順序棧型別
void initstack(sqstack *&s) //初始化棧s
bool stackempty(sqstack *s) //判斷棧s是否為空
bool push(sqstack *&s,elemtype e) //進棧
int getlength(sqstack *s) //輸出棧長度
bool getstack(sqstack *&s,int i,elemtype &e) //輸出從棧頂到棧底元素
bool pop(sqstack *&s,elemtype &e) //出棧
void destorystack(sqstack *&s) //釋放棧
int main()
{ elemtype a[maxsize],b;
sqstack *s;
initstack(s);
cout<
if(stackempty(s))
cout<=0;i--)
{getstack(s,i,b);
cout=0;i--)
{pop(s,b);
cout執行結果:
資料結構 順序棧
構造乙個順序棧 當輸入9999時,結束入棧操作 輸出棧中元素,顯示棧頂元素,刪除棧頂元素 include include include define stack init size 100 define ok 1 define error 0 typedef int selemtype 順序棧結構...
資料結構 順序棧
棧是一種只能在一端進行插入或刪除操作的線性表。其中允許進行插入或刪除操作的一端稱為棧頂 top 棧頂是由乙個稱為棧頂指標的位置指示器來指示,它是動態變化的。表的另一端稱為棧底,棧底是固定不變的。先進後出 filo include include define maxsize 100 typedef ...
資料結構 順序棧
運算規則 只能在棧頂運算,且訪問結點時依照後進先出 lifo 或先進後出 filo 的原則 實現方式 最大空間 typedef int selemtype typedef int status typedef struct sqstack 順序棧初始化 status initstack sqstac...