#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define OK 1
#define ERROR 0
const int maxn = 20;
typedef struct Stack{
int max_size, top_index;
char *elements;
}Stack;
void init(Stack *s, int size){
s->max_size = size;
s->top_index = -1;
s->elements = (char*)malloc(sizeof(char)*size);
}
int push(Stack *s, char value){
if (s->top_index >= s->max_size - 1){
return ERROR;
}
s->top_index++;
s->elements[s->top_index]=value;
return OK;
}
void pop(Stack *s){
if (s->top_index <0){
return;
}
s->top_index--;
}
int top(Stack *s){
return s->elements[s->top_index];
}
void clear(Stack *s){
free(s->elements);
free(s);
}
int isOperator(char c){
return (c == '+' || c == '-' || c == '*' || c == '/');
}
int priority(char c){
if (c == '*' || c == '/'){
return 2;
}
if (c == '+' || c == '-'){
return 1;
}
else{
return 0;
}
}
int op(int a, int b, char c){
int res;
简单的逆波兰式 c语言
最新推荐文章于 2023-03-24 23:56:40 发布