您的位置:首页 > 其它

Problem D: 栈的基本运算(栈和队列)

2016-04-11 21:55 246 查看

Problem D: 栈的基本运算(栈和队列)

Time Limit: 1 Sec Memory Limit:
128 MB

Submit: 66 Solved: 24

[Submit][Status][Web
Board]

Description

编写一个程序,实现顺序栈的各种基本运算,主函数已给出,请补充每一种方法。

1、初始化栈s;

2、判断栈s是否非空;

3、进栈一个元素;

4、判读栈s是否非空;

5、输出栈长度;

6、输出从栈顶到栈元素;

7、输出出栈序列;

8、判断栈s是否非空;

9、释放栈;

数据元素类型定义为

typedef char ElemType;

顺序栈的定义为

typedef struct
{
ElemType data[SizeMax];
int top;
}SqStack;

主函数:

int main()
{
SqStack *s;
InitStack(s); //初始化栈
if(StackEmpty(s))printf("空\n"); //判断栈是否为空
else printf("非空\n");
ElemType a,b,c,d,e;
cin>>a>>b>>c>>d>>e;
Push(s,a); //入栈
Push(s,b);
Push(s,c);
Push(s,d);
Push(s,e);
if(StackEmpty(s))printf("空\n");
else printf("非空\n");
printf("栈的长度为%d\n",Length(s)); //输出栈的长度
PrintStack(s); //输出从栈顶到栈底的元素
Print(s); //输出出栈序列
if(StackEmpty(s))printf("空\n");
else printf("非空\n");
DestroyStack(s); //释放栈
return 0;
}

Input

输入五个元素a,b,c,d,e;请根据题目编写算法。

Output

Sample Input

abcde

Sample Output

空
非空
栈的长度为5
edcba
edcba
非空

HINT

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: