0
点赞
收藏
分享

微信扫一扫

G - 基础数据结构——栈(1)

Alex富贵 2022-01-09 阅读 51

判断栈是否合法,用一个字符组储存栈前面的一个字符标记一下在判断后面出现的是否与前面的相匹配

#include<stdio.h>
#include<string.h>
int main()
{
	char a[200];
	char s[200];
	while(gets(a))
    {
    	int d=0,flag=0;
    	for(int i=0;i<strlen(a);i++)
    	{
    		if(a[i]=='('||a[i]=='['||a[i]=='{')
    		{
    			d++;
    			s[d]=a[i];
    			flag=1;
			}
			else if(a[i]==')'||a[i]==']'||a[i]=='}')
			{
				if((s[d]=='('&&a[i]==')')||(s[d]=='['&&a[i]==']')||(s[d]=='{'&&a[i]=='}'))  
				d--;
				else
				{
					flag=0;
					break;
				}
			}
		}
		if(flag==1&&d==0) printf("yes\n");
		else printf("no\n");
		}	
}
举报

相关推荐

0 条评论