檢查一段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表示彈出元素取位址...