測試的字串:
演算法思路:
從第乙個字元開始掃瞄**中棧的函式**當遇見普通字元時忽略
當遇見左括號時壓入棧中
當遇見右括號時從棧中彈出棧頂符號,並進行匹配
匹配成功:繼續進入下乙個字元
匹配失敗:立即停止,並報錯
結束;成功:所有字元掃瞄完畢,且棧為空
失敗:匹配失敗或所有字元掃瞄完畢但棧非空
#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語言中利用棧檢測括號是否匹配
檢測括號是否匹配的演算法中,棧的特性是最符合括號特點的。棧的先進後出將括號的匹配正好完美實現。思想 從字串開頭向後逐個檢測,檢測到除括號外的元素就跳過。檢測到左括號時,就進行入棧操作,繼續向後檢測。檢測到有括號時,就檢查棧頂元素是否是匹配的左括號。若不匹配,則直接返回錯誤訊號,使程式結束 若匹配,進...