早教吧作业答案频道 -->其他-->
栈的操作编写实现顺序栈的各种基本操作的算法,并在此基础上完成如下功能:(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
编写实现顺序栈的各种基本操作的算法,并在此基础上完成如下功能:
(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
//
void visit(SElemType &);
Status InitStack(SqStack &S);
/* 构造一个空栈S */
Status DestroyStack(SqStack &S);
/* 销毁栈S,S不再存在 */
Status ClearStack(SqStack &S);
/* 把S置为空栈 */
Status StackEmpty(SqStack S);
/* 若栈S为空栈,则返回TRUE,否则返回FALSE */
int StackLength(SqStack S);
/* 返回S的元素个数,即栈的长度 */
Status GetTop(SqStack S,SElemType &e);
/* 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR */
Status Push(SqStack &S,SElemType e);
/* 插入元素e为新的栈顶元素 */
Status Pop(SqStack &S,SElemType &e);
/* 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR */
Status StackTraverse(SqStack S,void(*vi)(SElemType &));
/* 从栈底到栈顶依次对栈中每个元素调用函数visit().*/
/* 一旦visit()失败,则操作失败 */
#endif
#ifndef _SeStack_struct_h
#define _SeStack_struct_h
//
void visit(SElemType &);
Status InitStack(SqStack &S);
/* 构造一个空栈S */
Status DestroyStack(SqStack &S);
/* 销毁栈S,S不再存在 */
Status ClearStack(SqStack &S);
/* 把S置为空栈 */
Status StackEmpty(SqStack S);
/* 若栈S为空栈,则返回TRUE,否则返回FALSE */
int StackLength(SqStack S);
/* 返回S的元素个数,即栈的长度 */
Status GetTop(SqStack S,SElemType &e);
/* 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR */
Status Push(SqStack &S,SElemType e);
/* 插入元素e为新的栈顶元素 */
Status Pop(SqStack &S,SElemType &e);
/* 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR */
Status StackTraverse(SqStack S,void(*vi)(SElemType &));
/* 从栈底到栈顶依次对栈中每个元素调用函数visit().*/
/* 一旦visit()失败,则操作失败 */
#endif
看了 栈的操作编写实现顺序栈的各种...的网友还看了以下:
从1907年起,美国物理学家密立根开始以精湛的技术测量光电效应中几个重要的物理量。他通过如图所示的 2020-05-13 …
蚕宝宝一生蜕皮几次?当蚕在茧里蜕皮变成蛹时,那一次蜕皮到底算不算?如果不算,4次肯定正确;可我始终 2020-06-25 …
如图所示,拼叠的正方形边长是从1开始的连续奇数如图所示,拼叠的正方形边长是从1开始的连续奇数... 2020-06-30 …
类似取模的运算如果我们的得数要控制在一定的区间内,如答案1-60的整数,就是本来的答案是负数时也是 2020-07-07 …
请问22世纪是2100年开始还是2101年开始算?如题,22世纪是2100年开始还是2101年开始 2020-07-17 …
关于百分比的算法突然好奇怎么算百分比,比如说本来是1800如果增加%4又是多少?该怎么算?如果说是 2020-07-23 …
15个红球各15个绿球排成一圈,从第1个球开始数,当数到第13个球时就拿出此球,然后再从下一个球开 2020-07-29 …
关于铣床做均布孔如何计算起始角度与终止角度比如说一般只有X,Y轴数显表的铣床,在加工一个圆孔时候,有 2020-11-24 …
一个小球沿足够长的光滑斜面向上运动,它在斜面上的加速度大小为5m/s2,方向始终沿斜面向下.某时刻它 2020-11-25 …
有关配比问题,如下对在等温等容容器内发生的反应:2SO3(g)+O2(g)=2SO3(g)始1:2m 2020-11-28 …