#include<iostream>
#include<malloc.h>
#define MAXSIZE 50
using namespace std;
typedef int DataType;
typedef struct{
DataType data[MAXSIZE];
int top;
}SeqStack,* PSeqStack;
int main(){
//函数声明
PSeqStack Init_SeqStack(void); /*建空栈*/
void Push_SeqStack(PSeqStack S,DataType x); /*入栈*/
int Empty_SeqStack(PSeqStack S); /*判断栈是否为空*/
void Pop_SeqStack(PSeqStack S,DataType * y);/*出栈*/
int GetTop_SeqStack(PSeqStack S); /*取栈顶元素*/
void Destroy_SeqStack(PSeqStack * S); /*销毁栈*/
int IsNum(char c); /*判断字符是否为操作数*/
int postfix_exp(char * A); /*后缀表达式求值*/
char a[]="1285-*+42/-#"; //后缀表达式
cout<<postfix_exp(a); //计算结果
return 0;
}
/*建空栈*/
PSeqStack Init_SeqStack(void){
PSeqStack S;
S=(PSeqStack)malloc(sizeof(SeqStack));
if(S){
S->top = -1;//表示空栈
}
return S;
}
/*入栈*/
void Push_SeqStack(PSeqStack S,DataType x){
if(S->top == (MAXSIZE-1)){
cout<<"栈满不能入栈!";
后缀表达式求值(顺序栈)
最新推荐文章于 2023-09-12 20:13:33 发布