課程
/后端開發
/C++
/數據結構探險—棧篇
怎么發現程序有問題,當括號為[([)]],則輸出的為不匹配
2016-07-31
源自:數據結構探險—棧篇 4-3
正在回答
這當然是不匹配的。你仔細想想現實中可能出現這樣的括號組合嗎?括號的作用是包裹內容,區分級別,你這個小括號和中括號都交叉了,還如何包裹內容?
從程序執行的角度來說也是不正確的,當檢索到第二個左中括號的時候,它急需的是右中括號,這時,下一個檢索出來的括號必定要是某個左括號或者它需要的右中括號,否則會直接打印不匹配。
墓男神 提問者
ziom 答得很好,我的補充是,如果你給出的例子要匹配,應該是[ [ ( ) ] ] 或者 [ ( [ ] ) ]
舉報
棧,先入后出(FILO),帶領大家體會棧這種數據結構的美妙
4 回答括號的匹配
2 回答括號的匹配問題
1 回答括號匹配有問題
2 回答自己寫的一個單棧括號匹配,支持干擾字符
1 回答()))不匹配
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-31
這當然是不匹配的。你仔細想想現實中可能出現這樣的括號組合嗎?括號的作用是包裹內容,區分級別,你這個小括號和中括號都交叉了,還如何包裹內容?
從程序執行的角度來說也是不正確的,當檢索到第二個左中括號的時候,它急需的是右中括號,這時,下一個檢索出來的括號必定要是某個左括號或者它需要的右中括號,否則會直接打印不匹配。
2017-03-07
ziom 答得很好,我的補充是,如果你給出的例子要匹配,應該是[ [ ( ) ] ] 或者 [ ( [ ] ) ]