一、考试内容:
1,栈的定义,逻辑结构和常用运算;
特点:后进先出,先进后出
栈(Stack):是限定只在表尾进行插入和删除操作的线性表。
栈顶(top):表尾端,进行插入和删除操作的一端。
栈底(bottom):表头一端,即不进行操作的一端。
空栈:不含任何元素的栈。
常用运算:
ADT Stack {
数据对象:
数据关系: 约定an端为栈顶,a1端为栈底。
基本操作:
InitStack(&S)操作结果:构造一个空栈S
DestroyStack(&S) 初始条件:栈S已经存在。 操作结果:栈S被销毁。
ClearStack(&S) 初始条件:栈S已经存在。 操作结果:将S清为空栈。
StackEmpty(S) 初始条件:栈S已经存在。 操作结果:若栈S为空栈,在返回true,否则返回false。
StackLength(S) 初始条件:栈S已经存在。 操作结果:返回S的元素个数,即栈的长度。
GetTop(S,&e) 初始条件:栈S已经存在且非空。
操作结果:用e返回S的栈顶元素(栈顶元素不删除,top指针不改变) 。
Push(&S,e) 初始条件: