資料結構 括號匹配

2021-08-30 11:42:30 字數 969 閱讀 8101

三種括號形式( ),[ ],,輸入一段字串,判斷其括號是否匹配。

**如下:

/*括號匹配問題*/

#include#include#include#define stack_init_size 100

#define stackincrement 10

#define error 0

#define true 1

#define false 0

#define overflow -2

#define ok 1

typedef int status;

typedef struct

sqstack;

/*初始化棧函式*/

status initstack(sqstack&s)

/*入棧函式*/

status push(sqstack &s,char c)

*(s.top)=c;

(s.top)++;

return ok;

}/*出棧函式*/

status pop(sqstack &s)

/*判斷非空函式*/

status stackempty(sqstack &s)

/*取棧頂元素*/

status gettop(sqstack &s,char &c)

/*檢測匹配函式*/

status checkbrackts(char *expr)

') ':if(c!='//switch

pop(s);

}//if-else

}//if

}//for

if(stackempty(s))

else

return error;

}

/*主函式*/

int main()

資料結構 括號匹配

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

資料結構 括號匹配問題

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

資料結構作業 括號匹配

include include include define max 128 宣告堆疊元素 儲存左括號的型別和位置 struct brackets struct brackets stack max 定義棧 int top 0 定義棧頂且初始化 int ispaired 定義配對標誌位 void p...