问题标题:
栈的操作编写实现顺序栈的各种基本操作的算法,并在此基础上完成如下功能:(1)初始化栈S;(2)判断栈S是否为空;(3)依次将元素a,b,c,d,e进栈S;(4)判断栈S是否为空;(5)输出此
问题描述:

栈的操作

编写实现顺序栈的各种基本操作的算法,并在此基础上完成如下功能:

(1)初始化栈S;

(2)判断栈S是否为空;

(3)依次将元素a,b,c,d,e进栈S;

(4)判断栈S是否为空;

(5)输出此时栈S的长度;

(6)输出从栈顶到栈底的元素;

(7)将栈S的所有元素逐个出栈,输出出栈序列;

(8)判断栈S是否为空;

(9)释放栈空间。

注意:每个过程要显示出各种提示信息。如:要求判断栈是否为空,则要显示:栈目前为空栈.要输出栈S的长度,则显示:栈的长度为:5

李怡胜回答:
  头文件:   #ifndef_SeStack_struct_h   #define_SeStack_struct_h   //   voidvisit(SElemType&);   StatusInitStack(SqStack&S);   /*构造一个空栈S*/   StatusDestroyStack(SqStack&S);   /*销毁栈S,S不再存在*/   StatusClearStack(SqStack&S);   /*把S置为空栈*/   StatusStackEmpty(SqStackS);   /*若栈S为空栈,则返回TRUE,否则返回FALSE*/   intStackLength(SqStackS);   /*返回S的元素个数,即栈的长度*/   StatusGetTop(SqStackS,SElemType&e);   /*若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR*/   StatusPush(SqStack&S,SElemTypee);   /*插入元素e为新的栈顶元素*/   StatusPop(SqStack&S,SElemType&e);   /*若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR*/   StatusStackTraverse(SqStackS,void(*vi)(SElemType&));   /*从栈底到栈顶依次对栈中每个元素调用函数visit().*/   /*一旦visit()失败,则操作失败*/   #endif
查看更多
其它推荐
热门其它推荐