栈的抽象数据类型(6)

ADT Stack { Dataset:D={ ai|ai∈ElemType, i=1,2,…,n, n≥0 } Relationset:R1={ <ai-1, ai>|ai-1, ai∈D, i=2,...,n } 约定an端为栈顶,a1端为栈底。 OperationSet:

(1)InitStack(&S) 实现功能:构造一个空栈S。

(2)DestroyStack(&S) 初始条件:栈S已存在。 实现功能:销毁栈S。

(3)ClearStack(&S) 初始条件:栈S已存在。 实现功能:清空栈S。

(4)StackEmpty(S) 初始条件:栈S已存在。 实现功能:判断栈S是否为空栈,若是则返回TRUE,否则返回FALSE。

(5)StackLength(S) 初始条件:栈S已存在。 实现功能:返回栈S中的元素个数,即栈的长度。

(6)GetTop(S, &e) 初始条件:栈S已存在且非空。 实现功能:返回S的栈顶元素,其值存放在e中。

(7)Push(&S, e) 初始条件:栈S已存在。 实现功能:插入元素e作为新的栈顶元素。

(8)Pop(&S, &e) 初始条件:栈S已存在且非空。 实现功能:删除S的栈顶元素,并用e返回其值。

(9)StackTraverse(S, visit( )) 初始条件:栈 S 已存在且非空,visit( )为元素的访问函数。 实现功能:从栈底到栈顶依次对S的每个元素调用函数visit( ),一旦visit( )失败,则操作失败。 } ADT Stack

posted @ 2016-04-07 19:56  吃货大坦克  阅读(529)  评论(1编辑  收藏  举报