习题9.43
来源:互联网 发布:java游戏开发技术 编辑:程序博客网 时间:2024/04/30 21:27
Exercise 9.43:
Use a stack to process parenthesized expressions. When you see an open parenthesis, note that it was seen. When you see a close parenthesis after an open parenthesis,pop elements down to and including the open parenthesis off the stack.push a value onto the stack to indicate that a parenthesized expression was replaced.
使用 stack 对象处理带圆括号的表达式。遇到左圆括号时,将其标记下来。然后在遇到右加括号时,弹出 stack 对象中这两边括号之间的相关元素(包括左圆括号)。接着在 stack 对象中压入一个值,用以表明这个用一对圆括号括起来的表达式已经被替换。
#include<iostream>#include<stack>#include<string>using namespace std;int main(){ string inPut;stack<char> sinPut;cout <<"input string, Ctrl+z to end" <<endl;cin >>inPut;string ::iterator iter = inPut.begin();while(iter != inPut.end()){if(*iter != ')'){sinPut.push(*iter);}else{while(sinPut.top() != '('){sinPut.pop();if(sinPut.empty()){cout <<"wrong parameter input" <<endl;goto Pause;}}sinPut.pop();sinPut.push('@');}++iter;}while(!sinPut.empty()){cout <<sinPut.top();sinPut.pop();}cout <<endl;Pause :system("pause"); return 0;}
- 习题9.43
- 习题9.43
- c++ primer 习题 9.43
- c++primer 习题9.43
- c++primer习题9.43
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 2012-12-22
- H.264 RTP payload 格式
- 总算知道原因了
- SDP概述
- 安装、卸载homebrew for osx
- 习题9.43
- 【并发操作】多用户并发操作的解决方案
- 为什么跑?
- ncurses库
- 几款服务器压力测试软件 【转】
- java网络编程--socket上传文件
- JavaScript学习之:Slice无参调用可以将对象转化成数组
- Linux下安装mldonkey及配置
- 指针排序(数组)