堆栈的应用(1) 平衡符号 C++实现
来源:互联网 发布:淘宝如何做广告 编辑:程序博客网 时间:2024/05/29 16:28
堆栈的应用(1) 平衡符号 C++实现
write by 九天雁翎(JTianLing) --blog.csdn.net/vagrxie
<<Data Structures and Algorithm Analysis in C++>>
--《数据结构与算法分析c++描述》 Mark Allen Weiss著 人民邮电大学出版 中文版第72面,堆栈的应用(1) 平衡符号
1 #include <stdio.h>
2 #include<stdlib.h>
3 #include<stack>
4 #include<string>
5 #include<iostream>
6 using namespace std;
7
8 bool CheckStack(const char ac,stack<char>& acSta)
9 {
10 if(ac == '(' ||ac == '[')
11 {
12 acSta.push(ac);
13 }
14 else if(ac== ')')
15 {
16 if( acSta.empty() || acSta.top() != '(' )
17 {
18 return false;
19 }
20 acSta.pop();
21 }
22 else if(ac == ']')
23 {
24 if(acSta.empty() || acSta.top() != '[' )
25 {
26 return false;
27 }
28 acSta.pop();
29 }
30
31 return true;
32 }
33
34 void DumpStack(stack<char>& acSta)
35 {
36 if(!acSta.empty())
37 {
38 cout<<"stack: ";
39 while(!acSta.empty())
40 {
41 cout<<acSta.top() <<" ";
42 acSta.pop();
43 }
44 cout<<endl;
45 }
46 }
47
48 int main(int argc, char*argv[])
49 {
50 char lc;
51 stack<char> lcSta;
52 while(cin >> lc)
53 {
54 if(!CheckStack(lc, lcSta))
55 {
56 cout<<"Error happen: " <<lc<<endl;
57 DumpStack(lcSta);
58 exit(1);
59 }
60 }
61
62 DumpStack(lcSta);
63
64 exit(0);
65 }
66
write by 九天雁翎(JTianLing) --blog.csdn.net/vagrxie
- 堆栈的应用--用C语言实现平衡符号
- 堆栈的应用(1) 平衡符号 C++实现
- 堆栈的应用(1) 平衡符号 C++实现
- 栈的应用-平衡符号(C版)
- 堆栈平衡的应用
- 栈的应用---平衡符号
- 栈的应用--平衡符号
- 栈的应用---平衡符号
- 栈的应用----平衡符号
- 栈的应用---平衡符号的检测
- 栈的应用之平衡符号
- 栈的应用——平衡符号
- 栈的应用:平衡符号问题
- 栈的应用 — 平衡符号
- javascript栈的应用之符号平衡
- 栈的应用 - 符号平衡问题
- Java栈的应用检测平衡符号
- 栈的应用—平衡符号
- JAVA到底能做什么?为何实际用到的技术却很少?
- SQL Server与Oracle链接服务器 实现数据同步
- 如何将位图缩放显示在Static控件中
- 让CPU占用率曲线听你指挥—微软技术面
- 获取系统进程
- 堆栈的应用(1) 平衡符号 C++实现
- malloc ()函数
- realloc ()函数
- abort ()函数
- MSDN下载
- 手把手教你用axis创建自己的webservice
- assert ()函数
- atexit ()函数
- bsearch ()函数