adt 棧(stack)
data
同線性表。元素具有相同地方型別,相鄰的元素具有前驅和後繼關係
operation
initstack(*s):初始化操作,建立乙個空棧s
destroystack(*s):若棧存在,則銷毀他
clearstack(*s):將棧清空
stackempty(s):若棧為空,返回true。否則返回false
gettop(s,*e)
;若棧存在且非空,用e返回s的棧頂元素
push(*s,e):若棧s存在,插入新元素e到棧s中並成為棧頂元素
pop(*s,*e):刪除棧s存在中棧頂的元素,並用e返回其值
stacklength(s):返回棧s的元素個數
endadt
test.hpp
#ifndef test_h_
#define test_h_
#include
"malloc.h"
#define maxsize 100
#define stackincrement 10
typedef
int selemtype;
typedef
struct
sqstack;
//initstack(*s):初始化操作,建立乙個空棧s
sqstack *
initstack()
;//destroystack(*s):若棧存在,則銷毀他
void
destroystack
(sqstack * s)
;//clearstack(*s):將棧清空
void
clearstack
(sqstack * s)
;//stackempty(s):若棧為空,返回true。否則返回false
bool
stackempty
(const sqstack s)
;//stacklength(s):返回棧s的元素個數
intstacklength
(const sqstack s)
;//gettop(s,*e);若棧存在且非空,用e返回s的棧頂元素
selemtype gettop
(sqstack s)
;//push(*s,e):若棧s存在,插入新元素e到棧s中並成為棧頂元素
void
push
(sqstack * s,
const selemtype e)
;//pop(*s,*e):刪除棧s存在中棧頂的元素,並用e返回其值
void
pop(sqstack * s)
;#endif
// !test_h_
#pragma once
test.cpp
#include
"test.h"
//initstack(*s):初始化操作,建立乙個空棧s
sqstack *
initstack()
//destroystack(*s):若棧存在,則銷毀
void
destroystack
(sqstack * s)
//clearstack(*s):將棧清空
void
clearstack
(sqstack * s)
}//stackempty(s):若棧為空,返回true。否則返回false
bool
stackempty
(const sqstack s)
//stacklength(s):返回棧s的元素個數
intstacklength
(const sqstack s)
//gettop(s,*e);若棧存在且非空,用e返回s的棧頂元素
selemtype gettop
(sqstack s)
//push(*s,e):若棧s存在,插入新元素e到棧s中並成為棧頂元素
void
push
(sqstack * s,
const selemtype e)
*(s-
>top)
= e;
++s-
>top;
}//pop(*s,*e):刪除棧s存在中棧頂的元素,並用e返回其值
void
pop(sqstack * s)
main.cpp
#include
#include
"test.h"
void
showstack
(sqstack s)
;int
main()
void
showstack
(sqstack s)
while
(s.base != s.top)
; std::cout <<
*s.top << std::endl;
}
棧的順序儲存結構
標頭檔案 函式的宣告 include include include define stacksize 100 typedef int elemtype typedef struct seqstack void initstack seqstack s 初始化棧 int stackempty seq...
棧的順序儲存結構
include include define maxsize 10 typedef struct stack sqstack,sq 棧的初始化,建立乙個空棧 sq inistack intpush sq s,int e void printf sq s while i s top 刪除棧頂元素,並用...
棧的順序儲存結構
棧是一種限定僅在表尾進行插入或刪除操作的線性表。允許插入或刪除的一端為棧頂,另一端為棧底。特點是先進後出 first in last out 棧的插入操作叫做入棧,棧的刪除操作叫做出棧。c語言 入棧 int push stack s elemtype e s top s data s top e r...