c++ 找错误 (括号匹配问题)

来源:百度知道 编辑:UC知道 时间:2024/06/10 19:44:28
#include<iostream.h>
#include<stdlib.h>
const int maxsize=100;//最大元素个数
typedef char Datatype;

class seqstack
{
int top;
Datatype *s;
public:
seqstack();//构造函数
~seqstack();//析构函数
void push(Datatype x);
void match(char *k);

};
seqstack temp;

seqstack::seqstack()
{
top=0;
s=new Datatype[maxsize];
}

seqstack::~seqstack()
{
delete []s;
}

void seqstack::push(Datatype x)
{
if(top==maxsize)
{
cout<<"栈满."<<endl;
exit(0);
}
else
{

s[top]=x;
}
}
bool ma(char a,char b)
{
if((a=='('&&b==')')||(a=='['&&b==']')||(a=='{'&&b=='}'))
return true;
else
return false;
}
void seqstack::match(char *k)
{
int u,v;
for(int i=0;k[i]!=

#include<iostream.h>
#include<stdlib.h>
const int maxsize=100;//最大元素个数
typedef char Datatype;

class seqstack
{
int top;
Datatype *s;
public:
seqstack();//构造函数
~seqstack();//析构函数
void push(Datatype x);
void match(char *k);

};
seqstack temp;

seqstack::seqstack()
{
top=0;
s=new Datatype[maxsize];
}

seqstack::~seqstack()
{
delete []s;
}

void seqstack::push(Datatype x)
{
if(top==maxsize)
{
cout<<"栈满."<<endl;
exit(0);
}
else
{

s[top]=x;
}
}
bool ma(char a,char b)
{
if((a=='('&&b==')')||(a=='['&&b==']')||(a=='{'&&b=='}'))
return true;
else
return false;
}
void seqstack::match(char *k)
{
int u,v;
for(int i=0;k[i]