資料結構實驗之棧四 括號匹配

2021-07-15 18:03:25 字數 1240 閱讀 8008

time limit: 1000ms memory limit: 65536k

給你一串字元,不超過50個字元,可能包括括號、數字、字母、標點符號、空格,你的任務是檢查這一串字元中的( ) ,[ ],是否匹配。

輸入資料有多組,處理到檔案結束。

如果匹配就輸出「yes」,不匹配輸出「no」

sin(20+10)]
yesno
ma6174

示例程式

這個題一開始提交了好幾遍都wa,後來看到題中說字串中包括空格,瞬間明悟了,淚奔.......,馬上改輸入

#include#includeint main()

else if(str[i] == ')')

else

}else if(str[i] == '}')

else

}else if(str[i] == ']')

else}}

if(str[0] != '\0' && top == -1)

printf("yes\n");

else if(str[0] != '\0')

printf("no\n");

}return 0;

}

這個是用棧來做的

#include#include#include#define stackmax 10000

#define stacknum 10000

typedef struct

stack;

int initstack(stack &s)

void push(stack &s,char e)

s.top++;

*s.top = e;

}void pop(stack &s)

void choose(stack &s,char str)

else if(str[i] == ')')

else

}else if(str[i] == '}')

else

}else if(str[i] == ']')

else}}

if(!f && s.top == s.base)

printf("yes\n");

else

printf("no\n");

}int main()

return 0;

}

資料結構實驗之棧四 括號匹配

time limit 1000ms memory limit 65536k 給你一串字元,不超過50個字元,可能包括括號 數字 字母 標點符號 空格,你的任務是檢查這一串字元中的 是否匹配。輸入資料有多組,處理到檔案結束。如果匹配就輸出 yes 不匹配輸出 no sin 20 10 yesno ma...

資料結構實驗之棧四 括號匹配

資料結構實驗之棧四 括號匹配 time limit 1000ms memory limit 65536k 題目描述 給你一串字元,不超過50個字元,可能包括括號 數字 字母 標點符號 空格,你的任務是檢查這一串字元中的 是否匹配。輸入 輸入資料有多組,處理到檔案結束。輸出 如果匹配就輸出 yes 不...

資料結構實驗之棧四 括號匹配

給你一串字元,不超過50個字元,可能包括括號 數字 字母 標點符號 空格,你的任務是檢查這一串字元中的 是否匹配。輸入資料有多組,處理到檔案結束。如果匹配就輸出 yes 不匹配輸出 no sin 20 10 yesno 鍊錶的方法,較為複雜。需要建立鏈棧,將陣列代替棧的方法換為了線性表 includ...