数据结构 表达式求值

来源:百度知道 编辑:UC知道 时间:2024/05/10 12:58:39
谁能帮我看看下面的程序有那些错误啊! 帮我该一下啦! 谢谢哦!
#include <stdio.h>
#define maxsize 10

typedef struct
{
char data[maxsize];
int top;
}SqStack;

void InitStack(SqStack *sq)
{
sq->top=0;
}

/*数据进栈*/
void Push(SqStack *sq,char m)
{
if(sq->top==maxsize-1)
{
printf("Full!\n");
}
else
{
sq->top++;
sq->data[sq->top]=m;
}
}

/*数据退栈*/
void Pop(SqStack *sq,char *m)
{
if(sq->top==0)
{
printf("Empty!\n");
}
else
{
*m=sq->data[sq->top];
sq->top--;

}
}

/*取运算符*/
void GetTop(SqStack *sq,char *x)
{
if(sq->top==0)
printf("Empty!/n");
else
{
*x=sq->data[sq->top];
}
}

/* 判断两符号的优先关系 */
char Precede(char t1,char t2)
{
char f;
switch(t2)
{
c

#define MAXSIZE 100
int relation[8][8]={
{1,1,-1,-1,-1,-1,1,1},
{1,1,-1,-1,-1,-1,1,1},
{1,1,1,1,1,-1,1,1},
{1,1,1,1,1,-1,1,1},
{1,1,1,1,1,-1,1,1},
{-1,-1,-1,-1,-1,0,2},
{-1,-1,-1,-1,-1,2,1,1},
{-1,-1,-1,-1,-1,-1,2,0}
};

typedef struct node

{
char data;

struct node *next;

}Snode;

typedef struct

{
char data[MAXSIZE];

int top;
}Stack0;
typedef struct

{
double data[MAXSIZE];

int top;
}Stack1;

typedef struct

{

Snode *front;

Snode *rear;
}LQueue;

void InitStack(Stack0 *s)

{
s->top=0;

}

void InitStack1(Stack1 *s)

{
s->top=0;

}
void push_L(Stack0 *s,char data)

{
s->data[s->top]=data;
s->top++;

}