重學資料結構 棧的應用 括號匹配(C語言)

2021-10-13 06:35:48 字數 2190 閱讀 3758

typedef

struct

sqstack;

void

initstack

(sqstack *s)

}

bool isempty

(sqstack s)

bool isfull

(sqstack s)

char

gettopelem

(sqstack s)

bool pushstack

(sqstack *s,

char e)

bool popstack

(sqstack *s,

char

*e)

bool indexof

(char str,

char x)

return false;

}

char

mathrightresponding

(char x)';

break

;case

'[':result=

']';

break

;case

'(':result=

')';

break

;default

: result=

' ';

}return result;

}

bool ismatchparen

(char str)

else

return false;}}

if(!isempty

(s))

return false;

return true;

}

int

main

(int argc,

char

* ar**)

";printf

("輸入字串:%s\n"

,str_leftmiss)

; bool result_leftmiss=

ismatchparen

(str_leftmiss)

;printf

("括號匹配結果:%d\n"

,result_leftmiss)

;//右括號缺失

char str_rightmiss=

"";printf

("輸入字串:%s\n"

,str_rightmiss)

; bool result_rightmiss=

ismatchparen

(str_rightmiss)

;printf

("括號匹配結果:%d\n"

,result_rightmiss)

;//左右括號不匹配

char str_miss=

"";printf

("輸入字串:%s\n"

,str_miss)

; bool result_miss=

ismatchparen

(str_miss)

;printf

("括號匹配結果:%d\n"

,result_miss)

;//成功

char str_success=

"";printf

("輸入字串:%s\n"

,str_success)

; bool result_success=

ismatchparen

(str_success)

;printf

("括號匹配結果:%d\n"

,result_success)

;return0;

}

輸入字串:

括號匹配結果:

0輸入字串:

括號匹配結果:0

輸入字串:

括號匹配結果:

0輸入字串:

括號匹配結果:1

資料結構 棧的應用 括號匹配

include include include 鏈式棧 括號匹配校驗 define success 0 define failure 1 typedef struct nodestnode def typedef struct linkstackstlinkstack def typedef voi...

括號匹配 資料結構 棧 C

在程式設計當中我們只會用到三種括號 圓括號 方括號和花括號 編譯器在編譯的時候會檢查括號是否正確匹配。例如 都是合法的匹配。但是 則是不合法的匹配。請編寫乙個程式來判斷輸入的括號序列是否合法。輸入測試資料由多組,每組資料有一行,為 組成的序列,長度不超過1000 輸出對於每組資料輸出一行,如果是合法...

資料結構 棧的應用 括號匹配的檢驗

棧的應用 括號匹配的檢驗 演算法內容 以此掃瞄所有字元,遇到左括號入棧,遇到右括號則彈出棧頂元素檢查是否匹配。匹配失敗的情況 1.左括號單 2.右括號單 3.左右括號不匹配 include include define maxsize 10 定義棧中元素的最大個數 typedef struct sq...