資料結構 7 1 括號匹配

2021-10-05 03:34:37 字數 1275 閱讀 7249

給定一串字元,不超過100個字元,可能包括括號、數字、字母、標點符號、空格,程式設計檢查這一串字元中的( ) ,[ ],是否匹配。

輸入格式:

輸入在一行中給出一行字串,不超過100個字元,可能包括括號、數字、字母、標點符號、空格。

輸出格式:

如果括號配對,輸出yes,否則輸出no。

輸入樣例1:

sin(10+20)

輸出樣例1:

yes

輸入樣例2:

]

輸出樣例2:

no

參考**:

#include

#include

using

namespace std;

#define maxsize 101

typedef

int selemtype;

typedef

int status;

typedef

struct

//定義棧

sqstack;

status initstack

(sqstack &s)

//初始化棧函式

status push

(sqstack &s, selemtype e)

//入棧函式

status pop

(sqstack &s, selemtype e)

//出棧函式

selemtype gettop

(sqstack s)

//取棧頂元素

intmain()

;//將字元逐一放入字元陣列

strcpy

(a,str.

c_str()

);//將string以char形式表示???(不太明白

for(

int i=

0; a[i]

!='\0'

; i++

)//判斷string字串是否結束':

if(gettop

(s)=='}

if((s.base==s.top)

&&flag==1)

//棧為空或flag=1

cout <<

"yes"

;else cout <<

"no"

;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...