運算規則:只能在棧頂運算,且訪問結點時依照後進先出(lifo)或先進後出(filo)的原則
實現方式
// 最大空間
typedef
int selemtype;
typedef
int status;
typedef
struct
sqstack;
// 順序棧初始化
status initstack
(sqstack& s)
// 判斷順序棧是否為空
bool
stackempty
(sqstack s)
// 判斷是否為滿棧
bool
stackfull
(sqstack s)
// 順序棧的長度
intstacklength
(sqstack s)
// 輸出棧頂元素
status gettop
(sqstack s, selemtype& e)
// 入棧
status push
(sqstack& s, selemtype e)
// 出棧
status pop
(sqstack& s, selemtype& e)
// 清空順序棧
status clearstack
(sqstack& s)
// 銷毀順序棧
status destroystack
(sqstack& s)
cout <<
"銷毀成功!"
<< endl;
return ok;
}// 輸入
void
creat
(sqstack& s,
int m)
}// 輸出
void
output
(sqstack s)
intmain()
請輸入棧的長度: 3
請輸入第1個元素: 1
請輸入第2個元素: 2
請輸入第3個元素: 3
棧中元素為: 1 2 3
順序棧的長度為: 3
請輸入入棧元素: 7
棧中元素為: 1 2 3 7
順序棧的長度為: 4
棧頂元素為: 7
順序棧的長度為: 4
彈出的元素為: 7
棧中元素為: 1 2 3
順序棧的長度為: 3
清空成功!
順序棧的長度為: 0
銷毀成功!
資料結構 順序棧
編寫乙個程式,實現順序棧 假設棧中元素型別為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 ...