棧的應用(括號匹配)

2021-10-23 10:43:49 字數 1098 閱讀 3098

棧的應用

括號匹配有兩種,一種是只用匹配一種型別的括號的,還有一種是要多種都匹配

// 棧的應用,括號的匹配問題

// 簡單的括號匹配 -> 只有一中型別的括號

#include

#include

#include

#include

using

namespace std;

// 初始化棧

bool

match

(string str_test)

else

if(str_test[i]

==')')}

// 如果遍歷結束的時候,棧沒空,失敗,棧空,成功

if(s.

empty()

)return

true

;return

false;}

// 複雜的括號匹配,多種(, [, , ], )

// 輔助函式,棧頂左括號和當前的右括號是不是匹配

bool

can_match

(char left,

char right)

else

if(left =='')

return

true

;else

return

false;}

else

}// 解決的思路是外部放乙個匹配的陣列,看每次的右括號和棧頂的左括號是不是匹配

bool

match2

(string str_test)

// 右括號判斷

if(str_test[i]

==')'

|| str_test[i]

=='}'

|| str_test[i]

==']'

)else

return

false;}

}if(s.empty()

)return

true

;return

false

;// 棧不空失敗

}int

main()

棧應用 括號匹配

假設表示式中允許包含兩種括號 圓括號和方括號。編寫乙個演算法判斷表示式中的括號是否正確配對。由括號構成的字串,包含 如果匹配輸出yes,否則輸出no。複製 yes解決思想 拿到字串後,遍歷字串,當遇到左括號就進棧,右括號棧頂元素出棧,如果括號是匹配的,則最終棧空。include includetyp...

棧的應用 括號匹配

3.1棧的應用 括號匹配 一 實驗目的1 掌握堆疊特殊線性表的儲存方式的基本操作方法。2 掌握堆疊後進先出運算原則在解決實際問題中的應用。3 掌握使用棧的原理來解決表示式中的括號配對問題。二 實驗內容 假設乙個算術表示式中包含圓括弧 方括弧三種型別的括弧,編寫乙個程式用於判別表示式中括弧是否正確配對...

棧的應用 括號匹配

description 在實際程式設計中,我們經常會巢狀使用括號,如 如果括號太多,可能會出現括號不匹配的情況,比如 as 等。現希望你們編寫乙個程式,判斷輸入的一段語句中的括號是否匹配。必須使用棧實現這個功能。input 字串s,s是由 以及數字字母組成的字串。output 若括號使用規範且匹配,...