括號匹配(c語言實現)

2022-05-08 19:21:07 字數 1097 閱讀 3225

⭐ 我的**: www.mengyingjie.com ⭐

編寫程式檢查該字串的括號是否成對出現,而且不能交叉出現。

輸入:乙個字串,裡邊可能包含「()」、"{}"、「」三種括號,「#」結束

輸出:成功:代表括號成對出現並且巢狀正確

失敗:未正確使用括號字元。

#include#include #define stack_int_size 100

#define stackincrement 10

#define bool int //自定義bool變數

#define selemtype char

typedef struct sqstack;

//------基本操作的演算法描述------

//構建乙個空棧

bool initstack(sqstack *s)

//若棧不為空,返回棧頂元素,並返回true 否則返回 false

bool gettop(sqstack s)

//插入元素 為新的棧頂元素

bool push(sqstack *s, selemtype e)

*(s->top++) = e;

return 1;

}//若棧不為空,則刪除棧頂元素,用e返回其值,返回true, 否則返回false

bool pop(sqstack *s, selemtype *e)

//檢查括號字元在字符集中的位置

int checkchar(char c, char op)

int main() ; //前置括號字符集

char op2 = '}; //後置括號字符集

while (c != '#') else else }}

if (gettop(optr) != c)m = 0;

if (m == 1)printf("\n括號完全匹配!");

else printf("\n括號匹配失敗!");

return 0;

}

C語言實現括號匹配問題

c語言利用棧的 先進後出 的思想,實現括號匹配的問題,源 如下所示 include include define max len 1024 typedef char elemtype typedef struct sqstack sqstack elemtype gettop sqstack s s...

C語言實現括號匹配 棧方式

我們在編寫程式的時候經常會遇到括號不匹配而導致語法錯誤的問題,現在我們可以通過棧來自己實現括號匹配的問題,了解其實現細節。我們假設在表示式中只有 這兩種括號,其巢狀的方式是隨意的。檢驗括號是否匹配可以用 期待的急迫程度 這個概念來描述 其實就是優先順序的意思 使用棧的方式進行匹配可以很好的執行這個解...

c語言棧實現括號匹配

在文字處理軟體或編譯程式設計時,常常需要檢查乙個字串或乙個表示式中的括號是否 相匹配?匹配思想 從左至右掃瞄乙個字串 或表示式 則每個右括號將與最近遇到的那個左括 號相匹配。則可以在從左至右掃瞄過程中把所遇到的左括號存放到堆疊中。每當遇到乙個 右括號時,就將它與棧頂的左括號 如果存在 相匹配,同時從...