字串匹配問題x

2022-04-06 06:55:23 字數 1469 閱讀 4107

qwq這個是棧的w

不是樹w

qwq我承認我發題很雜啦

字串匹配問題x

【問題描述】

字串中只含有括號 (),,<>,{},判斷輸入的字串中括號是否匹配。如果括號有互相包含的形式,從內到外必須是<>,(),,{},例如。輸入: [()] 輸出:yes,而輸入(), ()都應該輸出no。

【輸入格式】strs.in

檔案的第一行為乙個整數n,表示以下有多少個由括好組成的字串。接下來的n行,每行都是乙個由括號組成的長度不超過255的字串。

【輸出格式】strs.out

在輸出檔案中有n行,每行都是yes或no。

【輸入樣例】

5{}{}<><>()()

}}<<>><<>>(())(())

}}<<>><<>>(())(())

<<<>><<>>>((<>))(())[[(<>)]]

><}<<<>><<>>>((<>))(())[[(<>)]]

【輸出標例】

yesyes

yesyes

no**如下

1 #include2 #include3 #include4

5using

namespace

std;67

struct

stack ;

1112

void initstack(stack &s)

1516

char push(stack &s,char

a) 20 s.top++;//

棧頂++

21 s.strstack[s.top]=a;//

將棧頂元素賦值為a

22return

a;23}24

25char pop(stack &s)

29char a=s.strstack[s.top--];

30return a;//

返回字元檢驗是否為『([

3233

int empty(stack &s,int

re) else 39}

4041

int check(char *str)

57break;58

case']

':59if(pop(s)!='['

) 62

break;63

case'}

':64if(pop(s)!='

67break;68

}69}70

int re=0

;71 re=empty(s,re);

72if(re==1

) else77}

7879

intmain() else

if(re==0

) 88 }

字串匹配問題

在字串匹配問題中,我們期待察看串t中是否含有串p。其中串t被稱為目標串,串s被稱為模式串。進行字串匹配,最簡單的乙個想法是 public class match 可以看見,這個演算法 假定m n 的複雜度是o mn 其中m是t的長度,n是p的長度。這種演算法的缺陷是匹配過程中帶有回溯 準確地說是t串...

字串匹配問題

給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小寫敏感的選項,當...

字串匹配問題

字串中只含有括號 判斷輸入的字串中括號是否匹配。如果括號有互相包含的形式,從內到外必須是 例如。輸入 輸出 yes,而輸入 都應該輸出no。第一行為乙個整數n,表示以下有多少個由括好組成的字串。接下來的n行,每行都是乙個由括號組成的長度不超過255的字串 在輸出中有n行,每行都是yes或no。5 y...