用棧解決符號匹配問題

2021-07-10 18:35:03 字數 809 閱讀 7744

問題不在詳說,解決思路也很清晰明了,下面貼上**。

#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...