資料結構習題 括號匹配(堆疊)

2021-10-24 23:16:12 字數 701 閱讀 8579

檢查一段c語言**的小括號( )、 中括號[ ]和大括號是否匹配。

在一行中輸入一段c語言**,長度不超過1000個字元(行末以換行符結束)。

第一行輸出左括號的數量和右括號的數量,中間以乙個空格間隔。

若括號是匹配的,在第二行列印yes,否則列印no

for(int i=0; iadj[i][j])); }
8 8

yes

for(int i=0; i#include #include using namespace std;

int main()

//左括號就入棧並且左括號數量加一

case '[':

case '

case ')':

case ']':

case '}':

default:continue;

}// cout << a.top() <}

cout << left << ' ' << right

else cout << "no" << endl;

return 0;

}

基礎資料結構 堆疊 拓展 括號匹配

這是乙個考察對堆疊概念理解的應用,輸入一串帶括號的式子,檢查其中的括號是否前後對應。思路是當遇到括號是入棧,並在下次遇到括號時檢測是否與上乙個入棧的括號匹配為一對,不是則繼續入棧。因為正確的式子最終總能遇到乙個匹配的括號。例如 可以最先檢測出 這一對小括號,然後出棧,下乙個待匹配括號 與 也可成功匹...

資料結構 括號匹配

三種括號形式 輸入一段字串,判斷其括號是否匹配。如下 括號匹配問題 include include include define stack init size 100 define stackincrement 10 define error 0 define true 1 define fals...

資料結構 括號匹配

利用棧來實現字串的左右括號匹配 思路 對於字串遍歷 左括號字元入棧 遇到右括號字元就從棧頂彈出原素 彈出和右括號進行匹配 如果匹配成功繼續 匹配不成果報錯 注意 入棧的是字串的位址 不能說會變的臨時變數 接字串時需要用char 型別去接 並且進行強制型別轉換 匹配的時候再用 out表示彈出元素取位址...