**1. 编程实现栈的如下功能:
假设以P和O(大写字母O)表示入栈和出栈操作,根据一个P和O的序列,对一个空堆栈进行操作,当进行操作结束后,堆栈为空,则该序列是合法的,否则为非法的(包括栈满操作没完成,栈空操作没完成,操作完成但堆栈为空)。当判断为P时,输入入栈元素并入栈,当判断为O时输出栈顶元素并出栈。入栈元素类型设为int型。
要求:
main()
输入:
M,代表堆栈的最大容量
序列,由P和O构成的序列
输出:
合法或非法
以上操作可以多次运行
sos!数据结构 栈和队列的典型算法实现 实验题求解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- m0_51598294 2021-10-20 14:25关注
部分代码为:
InitStack(S);//初始化堆栈;
do
{
cout<<”输入堆栈的最大容量:”;
cin>>M;
cout<<”输入P和O序列”;
cin>>str;//str为string类型或字符数组
以下为处理部分,判断为P时,提示输入数值,最后,处理结束,输出”合法”或”非法”的判断,若非法,还要输出堆栈内容。
Clear(S);//栈不空,则要清空堆栈;
cin>>i;
}while i<>0;解决 无用评论 打赏 举报
悬赏问题
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料