1 #include2 #include3 #include45#define max 2067
8 typedef struct
stackstack;
1213
char gettop_s(stack *h) //
得到棧頂元素
1421
22 stack * out_s(stack *h) //
出棧23
3637 stack * insert_s(char ch, stack *h) //
入棧38
5051 stack * init() //
初始化棧
5262
63int cop_symbol(char a,char b) //
判斷兩個符號是否匹配
6472
73int bracktext(char value[max], stack *h) //
括號檢測
7489 i++;90}
9192
if(h->next !=null)
93return0;
94else
95return1;
9697}98
99100
intmain()
101
進棧和出棧的時候要注意返回頭指標,不然下次操作會找不到頭結點。
演算法基礎練習 最長括號匹配
最長括號匹配 輸入的字串只包含左括號,右括號 1.起始匹配的位置start 1,匹配的最長長度ml 0 2.遍歷第i個字元c 3.如果c是左括號,壓棧 4.如果c是右括號,則與棧頂元素進行匹配 4.1 如果棧為空,則此時的c無法匹配,更新start i,為下一次匹配做準備 4.2 如果棧非空,則出棧...
練習9 牛牛的括號匹配
如果乙個括號序列中的每乙個左括號都有乙個右括號與之完成配對,這個序列就是乙個合法的括號匹配序列。例如 是合法的括號匹配序列,是不合法的括號匹配序列。牛牛得到了一系列的括號序列,牛牛要從這個系列中任意選取兩個位置進行一次交換操作,僅且只能進行一次操作。牛牛想知道能否通過這次操作,把這個系列變成合法的括...
C程式括號匹配檢查
問題描述 編寫一程式檢查c源程式檔案中 等括號是否匹配,並輸出第乙個檢測到的不匹配的括號及所對應括號所在的行號 程式中只有乙個括號不匹配 注意 1.除了括號可能不匹配外,輸入的c源程式無其它語法錯誤 2.字元常量 字串常量及注釋中括號不應被處理,注釋包括單行注釋 和多行 注釋 3.字元和字串常量中不...