![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 72
swiftiex
做一只快乐的程序猿
展开
-
栈的应用之括号匹配检验
栈结构具有后进先出的固有特性,在程序设计中很有帮助。这里举一个例子,将栈应用与括号匹配的检验。 假设表达式中允许三种括号:小括号、中括号和大括号,嵌套的顺序任意。( [ ] ) { } 、[ { } ]等均为正确格式。检验括号是否匹配可用“期待的急迫程度”来描述。接收一个正括号后,计算机期待着一个与之匹配的反括号。如果此时接收到一个反括号,若与期待的匹配,则这种“期待”得到消解;原创 2015-04-04 16:19:21 · 8105 阅读 · 3 评论 -
递归应用之括号匹配检验
括号匹配检验还可以用栈来解决,参见我的另一篇文章《栈的应用之括号匹配检验》 这里给出一个C++程序,结合注释来看是如何实现的。#include using namespace std;bool judge(char* str);//括号检验主体函数bool match(char *,char,int &);//递归调用的匹配检验函数//判断是否为左、右括号,是否为一对原创 2015-04-05 12:54:32 · 1087 阅读 · 0 评论 -
字符串反序操作
字符串反序操作,可以分为两种类型,一种是将字符串的反序存储,一种是将字符串反序输出。 对于前一种,假设字符串长度为n,可以从第1个字符到第floor(n/2) (取整函数,取得不超过某个数的最大整数)个字符,依次将第i个字符和第n+1-i个字符交换位置。这一结束后,字符串就反序存储了。 对于后一种,可以采取两种方法。第一种方法是从字符串的最后一个字符逆序遍历到第原创 2015-04-01 21:57:21 · 6150 阅读 · 0 评论