⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 match.cpp

📁 括号匹配的检验 试写一个判别表达式开、闭括号是否配对出现的算法。
💻 CPP
字号:
//Microsoft Visual C++ 6.0
//Microsoft Windows 2000 Server
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include "ds.h"
#include "SqStack.h"
Status match(char *exp)
{
	unsigned int i;
	i=0;
	char e;
	SqStack S;
	InitStack(S);
	unsigned int m;
	m=strlen(exp);
	while(i<m) 
	{
		switch(exp[i]) 
		{
        case '(': 
			{
				Push(S,exp[i]); 
				i++; 
				break;
			}
		case '[': 
			{
				Push(S,exp[i]); 
				i++; 
				break;
			}
		case ')': 
			{
				if(!StackEmpty(S))
				{
					Pop(S,e);  
					if(e=='(')
						i++;
					else 
						return ERROR;
				}
				else 
					return ERROR;
				break;
			}
			case ']': 
			{
				if(!StackEmpty(S))
				{
					Pop(S,e);  
					if(e=='[')
						i++;
					else 
						return ERROR;
				}
				else 
					return ERROR;
				break;
			}  			
		}
	}
	if(StackEmpty(S)) 
		return OK; 
	else 
		return ERROR;
}
main()
{
	char exp1[]="([]())";
	char exp2[]="[([][])]";
	char exp3[]="[(])";
	char exp4[]="(()]";
	char exp5[]="";
	char exp6[]="(";
	char exp7[]=")";
	if(match(exp7)==OK)
		cout<<"括号匹配"<<endl;
	else
		cout<<"括号不匹配"<<endl;
	getchar();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -