#include
"stdio.h"
#include
"stdlib.h"
#include
"stdbool.h"
#define maxsize 50
typedef
int datatype;
typedef
struct
sqstack;
bool stackempty
(sqstack* pstack)
;bool pushstack
(sqstack *stack,
int value)
;datatype popstack
(sqstack *stack)
;datatype gettop
(sqstack *stack)
;void
destroystack
(sqstack *stack)
;int
main()
,-1}
; sqstack *pstack =
&sqstack;
printf
("棧是否為空:%d\n"
,stackempty
(pstack));
printf
("8、6、5、4進棧\n");
pushstack
(pstack,8)
;pushstack
(pstack,6)
;pushstack
(pstack,5)
;pushstack
(pstack,4)
;printf
("棧是否為空:%d\n"
,stackempty
(pstack));
printf
("出棧:%d\n"
,popstack
(pstack));
printf
("出棧:%d\n"
,popstack
(pstack));
printf
("棧頂元素:%d\n"
,gettop
(pstack));
destroystack
(pstack)
;printf
("銷毀棧\n");
return0;
}/**
* 銷毀棧
* @param stack
*/void
destroystack
(sqstack *stack)
/** * 獲取棧頂元素
* @param stack
* @return
*/datatype gettop
(sqstack *stack)
return stack->data[stack->top];}
/** * 彈出棧頂元素
* @param stack
* @return
*/datatype popstack
(sqstack *stack)
// 棧頂指標下移
return stack->data[stack->top--];
}/**
* 入棧
* @param stack
* @param value
* @return
*/bool pushstack
(sqstack *stack,
int value)
// 棧頂指標後移,進棧
stack->data[
++stack->top]
= value;
}/**
* 判斷棧是否為空
* @param pstack
* @return
*/bool stackempty
(sqstack* pstack)
資料結構 順序棧
編寫乙個程式,實現順序棧 假設棧中元素型別為char 的各種基本運算。並完成下面功能 1 初始化棧s 2 判斷棧s是否非空 3 依次進棧元素a,b,c,d,e 4 判斷棧s是否非空 5 輸出棧長度 6 輸出從棧頂到棧底元素 7 輸出出棧序列 8 判斷棧s是否非空 9 釋放棧。include incl...
資料結構 順序棧
構造乙個順序棧 當輸入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 ...