問題不在詳說,解決思路也很清晰明了,下面貼上**。
#include
#include
#define s_size 100 //棧的空間大小
#define stackincreament 10//增加空間
struct sqstack;
void main()
的括號表示式:\n");
gets_s(ch);
while (*p)
':case
']':
case
')':
if (!stackempty(s))
') || (e == '[' && *p == ']') || (e == '(' && *p == ')'))
p++;
else
}else
break;
default:p++;//其他字元就後移 }}
printf("括號匹配成功");
printf("\n");
system("pause");
}void initstack(sqstack &s)
int stackempty(sqstack s)
void push(sqstack &s, int e)
*(s.top) = e;
s.top++;
}void pop(sqstack &s, int &e)
}
注:裡面遇到一些小問題,都是關於c/c++的基礎問題,一寫**就有些糊塗,等將它們集合起來有一定數量時再寫寫。^=^ 用棧解決括號匹配問題
define crt secure no warnings 1 include include include typedef char datatype define capacity 100 底層空間的總大小 typedef struct stack stack 初始化 void stackin...
棧解決括號匹配問題
題目 假設乙個表示式中可以包含三種括號 小括號,中括號,大括號,且這三種括號可以任意次序巢狀使用,如 3 5 4 編寫判斷表示式括號是否匹配的程式。表示式為字串。解題思路 解決括號匹配問題我們要考慮的是優先順序,大家學過數學的都知道要想解決這類算式我們要做的就是去括號,去括號不能隨便去,要先去除最後...
基於棧的平衡符號匹配問題
棧的實現 基於vector順序容器的棧的實現 ifndef weiwei h define weiwei h includeusing std vector templateclass stack void push const object val object pop object top bo...