棧的應用 檢測小括號是否匹配( C語言實現)

2021-10-09 22:19:34 字數 731 閱讀 7041

測試的字串:

演算法思路:

從第乙個字元開始掃瞄

當遇見普通字元時忽略

當遇見左括號時壓入棧中

當遇見右括號時從棧中彈出棧頂符號,並進行匹配

匹配成功:繼續進入下乙個字元

匹配失敗:立即停止,並報錯

結束;成功:所有字元掃瞄完畢,且棧為空

失敗:匹配失敗或所有字元掃瞄完畢但棧非空

**中棧的函式**

#include

"stack.h"

void

error_show

(char

* str,

char

* p)

printf

("|\n");

}void

test()

if(*p1 ==

')')

else

} p1++;}

//如果棧中還有資料 那就是 還有左括號沒有匹配上

while

(size_sstack

(mystack)

>0)

destroy_sstack

(mystack)

; mystack =

null;}

intmain()

括號匹配檢測 棧的應用

周一是我女朋友的生日,無奈公司的介面需要我去除錯,心裡也確實放不下公司的事情,結果週末兩天都在公司除錯加班,今天周一我和女友都上班,唉,太感謝我女友了,乙個男人的高度很大程度上取決於身邊的女人啊,祝我寶貝璐璐生日快樂。在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式...

c語言 括號匹配檢測(棧的應用)

括號匹配檢測,對於一串帶括號的字元 1.如果是左括號,入棧 2.如果是右括號,與棧頂元素比較,若形成括號對,則棧頂左括號出棧 若不能形成括號對,則括號不能匹配 include include define init size 6 初始棧空間 define incre size 2 佔空間增量 棧結構...

C語言中利用棧檢測括號是否匹配

檢測括號是否匹配的演算法中,棧的特性是最符合括號特點的。棧的先進後出將括號的匹配正好完美實現。思想 從字串開頭向後逐個檢測,檢測到除括號外的元素就跳過。檢測到左括號時,就進行入棧操作,繼續向後檢測。檢測到有括號時,就檢查棧頂元素是否是匹配的左括號。若不匹配,則直接返回錯誤訊號,使程式結束 若匹配,進...