sdut 2134 数据结构实验之栈与队列四:括号匹配
生活随笔
收集整理的這篇文章主要介紹了
sdut 2134 数据结构实验之栈与队列四:括号匹配
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之棧與隊(duì)列四:括號(hào)匹配
Time Limit:?1000MS?Memory Limit:?65536KB Submit?Statistic?DiscussProblem Description
?給你一串字符,不超過(guò)50個(gè)字符,可能包括括號(hào)、數(shù)字、字母、標(biāo)點(diǎn)符號(hào)、空格,你的任務(wù)是檢查這一串字符中的( ) ,[ ],{ }是否匹配。
?
Input
?輸入數(shù)據(jù)有多組,處理到文件結(jié)束。
?
Output
?如果匹配就輸出“yes”,不匹配輸出“no”
?
Example Input
sin(20+10) {[}]Example Output
yes no 利用棧的思想遇到({ [時(shí)進(jìn)棧,遇到)] }就看棧頂元素與之是否匹配,匹配棧頂元素則出棧,否則 false? #include <iostream> #include <cstring> #include <stdio.h> using namespace std; int tag; int match(char ST[],char ch,int &k) {if(ch==')'&&ST[k]=='('||ch==']'&&ST[k]=='['||ch=='}'&&ST[k]=='{'){tag=1;k--;}elsetag=0;} int main() {char ch[52];while(gets(ch)){char ST[52];int k=-1;for(int i=0;ch[i]!='\0';++i){switch(ch[i]){case '(':case '[':case '{':ST[++k]=ch[i];break;case ')':case ']':case '}': match(ST,ch[i],k);break;}}if(tag&&k==-1)cout<<"yes"<<endl;elsecout<<"no"<<endl;}return 0; }下面的是剛開(kāi)始寫(xiě)的忘記考慮 ( ) ( )這種情況了 #include <iostream> #include <cstring> #include <stdio.h> using namespace std; int match(char ST[],int k) {if(k==0||k%2!=0){cout<<"no"<<endl;return 0;}int j=k-1;int i;for(i=0;i<(k/2);i++){switch(ST[i]){case '(':if(ST[j]==')')j--;else{cout<<"no"<<endl;return 0;}break;case '[':if(ST[j]==']')j--;else{cout<<"no"<<endl;return 0;}break;case '{':if(ST[j]=='}')j--;else{cout<<"no"<<endl;return 0;}break;default :{cout<<"no"<<endl;return 0;}break;}}//if(i==k/2)cout<<"yes"<<endl;return 0; } int main() {char ch[52];while(gets(ch)){char ST[52];int k=0;for(int i=0;ch[i]!='\0';++i){switch(ch[i]){case '(':case '[':case '{':case ')':case ']':case '}':ST[k++]=ch[i];break;}}ST[k]='\0';match(ST,k);}return 0; }/*************************************************** User name: YT1658506207邵雪源 Result: Wrong Answer Take time: 0ms Take Memory: 204KB Submit time: 2017-10-10 17:56:27 ****************************************************/總結(jié)
以上是生活随笔為你收集整理的sdut 2134 数据结构实验之栈与队列四:括号匹配的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 第7周实践项目2.2 求解报数问题
- 下一篇: sdut-3332 数据结构实验之栈与队