?? match.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 + -