求大神助力!运作出错,不明觉厉啊
求大神助力!运行出错,,,不明觉厉啊。。。
//huiwen.h
#include <iostream.h>
#define m 100
struct stackstru // 定义栈
{
char stack[m];
int *base;
int *top;
int stacksize;
};
struct queuestru //定义队列
{
int *base;
int front;
int rear;
};
class Huiwen
{
public:
Huiwen();
virtual ~Huiwen();
int InitStack(stackstru *s); //初始化栈
void ClearStack(stackstru *s); //清空栈
int StackEmpty(stackstru *s); //判断栈是否空
int Push(stackstru *s,char x); //入栈操作
char Pop(stackstru *s); //出栈操作
int InitQueue(queuestru *q); //初始化为一个空的循环队列
void ClearQueue(queuestru *q); //清空队列
int QueueEmpty(queuestru *q); //判断队列是否为空
int EnQueue(queuestru *q,char e); //入队操作
char DeQueue(queuestru *q); //出队操作
};
//huiwen.cpp
#include "Huiwen.h"
#include "iostream.h"
#include "stdlib.h"
#define INCREASE 10
#define OVERFLOW 0
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
Huiwen::Huiwen()
{
}
Huiwen::~Huiwen()
{
}
//初始化栈
int Huiwen::InitStack(stackstru *s)
{
s->base = (int*)new int[m];
if(!s->base) exit(OVERFLOW);
s->top = s->base ;
s->stacksize = m;
return OK;
}
//清空栈
void Huiwen::ClearStack(stackstru *s)
{
s->top=0;
}
//判断栈是否空
int Huiwen::StackEmpty(stackstru *s)
{
if (s->top==0) //栈顶为空
return FALSE;
else
return TRUE;
}
//入栈操作
int Huiwen::Push(stackstru *s,char x)
{
if (s->top - s->base >= s->stacksize) //栈满
//huiwen.h
#include <iostream.h>
#define m 100
struct stackstru // 定义栈
{
char stack[m];
int *base;
int *top;
int stacksize;
};
struct queuestru //定义队列
{
int *base;
int front;
int rear;
};
class Huiwen
{
public:
Huiwen();
virtual ~Huiwen();
int InitStack(stackstru *s); //初始化栈
void ClearStack(stackstru *s); //清空栈
int StackEmpty(stackstru *s); //判断栈是否空
int Push(stackstru *s,char x); //入栈操作
char Pop(stackstru *s); //出栈操作
int InitQueue(queuestru *q); //初始化为一个空的循环队列
void ClearQueue(queuestru *q); //清空队列
int QueueEmpty(queuestru *q); //判断队列是否为空
int EnQueue(queuestru *q,char e); //入队操作
char DeQueue(queuestru *q); //出队操作
};
//huiwen.cpp
#include "Huiwen.h"
#include "iostream.h"
#include "stdlib.h"
#define INCREASE 10
#define OVERFLOW 0
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
Huiwen::Huiwen()
{
}
Huiwen::~Huiwen()
{
}
//初始化栈
int Huiwen::InitStack(stackstru *s)
{
s->base = (int*)new int[m];
if(!s->base) exit(OVERFLOW);
s->top = s->base ;
s->stacksize = m;
return OK;
}
//清空栈
void Huiwen::ClearStack(stackstru *s)
{
s->top=0;
}
//判断栈是否空
int Huiwen::StackEmpty(stackstru *s)
{
if (s->top==0) //栈顶为空
return FALSE;
else
return TRUE;
}
//入栈操作
int Huiwen::Push(stackstru *s,char x)
{
if (s->top - s->base >= s->stacksize) //栈满