資料結構作業 括號匹配

2021-09-29 07:02:22 字數 1192 閱讀 7565

**

#include

#include

#include

#define max 128

//宣告堆疊元素:儲存左括號的型別和位置

struct brackets

;struct brackets stack[max]

;//定義棧

int top =0;

//定義棧頂且初始化

int ispaired;

//定義配對標誌位

void

push

(char bracket,

int pos)

stack[top]

.ch = bracket;

stack[top]

.position = pos;

top++;}

struct brackets pop

(void

)return stack[

--top];}

char

*markinit

(int size)

//標記字串初始化函式

intdetectmark

(char

*mark)

//檢測標記函式

return0;

}int

main

(void

)else}if

(top ==

0&& ispaired ==0)

//未找到左圓括號與之匹配}if

(*p ==

']')

else}if

(top ==

0&& ispaired ==0)

//未找到左中括號與之匹配}}

while

(top !=0)

//標記棧中所有未配對的括號

mark[

pop(

).position]

='^';if

(detectmark

(mark)

)printf

("%s\nnot paired.\n"

, mark)

;else

printf

("paired.\n");

system

("pause");

return0;

}

資料結構 括號匹配

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

資料結構 括號匹配

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

資料結構 括號匹配問題

給定乙個字串,其中的字元只包含三種括號 花括號 中括號 圓括號 即它僅由 這六個字元組成。設計演算法,判斷該字串是否有效,即字串中括號是否匹配。括號匹配要求括號必須以正確的順序配對,如 或 等為正確的格式,而 或 或 均為不正確的格式。這個問題可以用棧stack來解決,具體的 如下 pragma o...